i))for(var p=l[h+1];ds)n[u+d]=0,n[a+d]=-1,h++,e[d]=i(t),n[u+t]++;else{var m=n[c+p];m!=-1&&(l[m]=d),n[f+d]=n[c+p],n[c+p]=d}}return h},p=function(t,e,n,r,i){if(t<2||t+e<0){for(var a=0;a=0;){var u=n[o+s],c=n[r+u];c==-1?(s--,a[e++]=u):(n[r+u]=n[i+c],++s,n[o+s]=c)}return e};return t}e.name="cs_tdfs",e.path="sparse",e.factory=n},function(t,e,n){"use strict";function r(t,e,r,o){var s=n(776),u=r(n(796)),c=t.DenseMatrix,l=t.SparseMatrix,f=o("transpose",{Array:function(t){return f(u(t)).valueOf()},Matrix:function(t){var e,n=t.size();switch(n.length){case 1:e=t.clone();break;case 2:var r=n[0],i=n[1];if(0===i)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+a(n)+")");switch(t.storage()){case"dense":e=h(t,r,i);break;case"sparse":e=d(t,r,i)}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+a(this._size)+")")}return e},any:function(t){return i(t)}}),h=function(t,e,n){for(var r,a=t._data,o=[],s=0;s=0;n--)t[n]!=-1&&(o[u+n]=o[s+t[n]],o[s+t[n]]=n);for(n=0;n=1&&L[s]++,2==S.jleaf&&L[S.q]--}e[s]!=-1&&(_[g+s]=e[s])}for(s=0;s=e},"number, number":function(t,n){return t>=n||i(t,n,e.epsilon)},"BigNumber, BigNumber":function(t,n){return t.gte(n)||a(t,n,e.epsilon)},"Fraction, Fraction":function(t,e){return t.compare(e)!==-1},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")},"Unit, Unit":function(t,e){if(!t.equalBase(e))throw new Error("Cannot compare units with different base");return p(t.value,e.value)},"string, string":function(t,e){return t>=e},"Matrix, Matrix":function(t,e){var n;switch(t.storage()){case"sparse":switch(e.storage()){case"sparse":n=c(t,e,p);break;default:n=u(e,t,p,!0)}break;default:switch(e.storage()){case"sparse":n=u(t,e,p,!1);break;default:n=f(t,e,p)}}return n},"Array, Array":function(t,e){return p(s(t),s(e)).valueOf()},"Array, Matrix":function(t,e){return p(s(t),e)},"Matrix, Array":function(t,e){return p(t,s(e))},"Matrix, any":function(t,e){var n;switch(t.storage()){case"sparse":n=l(t,e,p,!1);break;default:n=h(t,e,p,!1)}return n},"any, Matrix":function(t,e){var n;switch(e.storage()){case"sparse":n=l(e,t,p,!0);break;default:n=h(e,t,p,!0)}return n},"Array, any":function(t,e){return h(s(t),e,p,!1).valueOf()},"any, Array":function(t,e){return h(s(e),t,p,!0).valueOf()}});return p.toTex={2:"\\left(${args[0]}"+d.operators.largerEq+"${args[1]}\\right)"},p}var i=n(751).nearlyEqual,a=n(793);e.name="largerEq",e.factory=r},function(t,e,n){"use strict";function r(t,e,r){var i=r(n(825)),a=r(n(828)),o=r(n(821)),s=r(n(1088)),u=function(t,e,n,r,u,c,l){var f,h,d,p,m=t._values,y=t._index,_=t._ptr,g=t._size,v=g[1],x=e._values,b=e._index,M=e._ptr,w=s(t,e,n,r,c);for(f=w;f=0;){t=r[m];var y=s?s[t]:t;i(h,t)||(a(h,t),r[p+m]=y<0?0:o(h[y]));var _=1;for(c=r[p+m],l=y<0?0:o(h[y+1]);c_&&(x.push(d[r]),b.push(n));if(c(v,0))throw new Error("Linear system cannot be solved since matrix is singular");var w=o(g,v);for(r=0,M=b.length;r=0;d--){var p,m=n[d][0]||0;if(c(m,0))p=0;else{var y=h[d][d];if(c(y,0))throw new Error("Linear system cannot be solved since matrix is singular");p=o(m,y);for(var _=d-1;_>=0;_--)n[_]=[u(n[_][0]||0,s(p,h[_][d]))]}a[d]=[p]}return new f({data:a,size:[r,1]})},p=function(t,e){e=l(t,e,!0);for(var n,r,i=e._data,a=t._size[0],h=t._size[1],d=t._values,p=t._index,m=t._ptr,y=[],_=h-1;_>=0;_--){var g=i[_][0]||0;if(c(g,0))y[_]=[0];else{var v=0,x=[],b=[],M=m[_],w=m[_+1];for(r=w-1;r>=M;r--)n=p[r],n===_?v=d[r]:n<_&&(x.push(d[r]),b.push(n));if(c(v,0))throw new Error("Linear system cannot be solved since matrix is singular");var L=o(g,v);for(r=0,w=b.length;r0?Math.floor(t):Math.ceil(t)},Complex:function(e){return new t.Complex(e.re>0?Math.floor(e.re):Math.ceil(e.re),e.im>0?Math.floor(e.im):Math.ceil(e.im))},BigNumber:function(t){return t.isNegative()?t.ceil():t.floor()},Fraction:function(t){return t.s<0?t.ceil():t.floor()},"Array | Matrix":function(t){return i(t,a,!0)}});return a.toTex={1:"\\mathrm{${name}}\\left(${args[0]}\\right)"},a}var i=n(764);e.name="fix",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("floor",{number:Math.floor,Complex:function(t){return t.floor()},BigNumber:function(t){return t.floor()},Fraction:function(t){return t.floor()},"Array | Matrix":function(t){return i(t,a,!0)}});return a.toTex={1:"\\left\\lfloor${args[0]}\\right\\rfloor"},a}var i=n(764);e.name="floor",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,a){function o(e,n){if(!e.isInt()||!n.isInt())throw new Error("Parameters in function gcd must be integer numbers");for(var r=new t.BigNumber(0);!n.isZero();){var i=e.mod(n);e=n,n=i}return e.lt(r)?e.neg():e}var s=r(n(796)),u=r(n(798)),c=r(n(799)),l=r(n(800)),f=r(n(801)),h=r(n(802)),d=a("gcd",{"number, number":i,"BigNumber, BigNumber":o,"Fraction, Fraction":function(t,e){return t.gcd(e)},"Matrix, Matrix":function(t,e){var n;switch(t.storage()){case"sparse":switch(e.storage()){case"sparse":n=c(t,e,d);break;default:n=u(e,t,d,!0)}break;default:switch(e.storage()){case"sparse":n=u(t,e,d,!1);break;default:n=f(t,e,d)}}return n},"Array, Array":function(t,e){return d(s(t),s(e)).valueOf()},"Array, Matrix":function(t,e){return d(s(t),e)},"Matrix, Array":function(t,e){return d(t,s(e))},"Matrix, number | BigNumber":function(t,e){var n;switch(t.storage()){case"sparse":n=l(t,e,d,!1);break;default:n=h(t,e,d,!1)}return n},"number | BigNumber, Matrix":function(t,e){var n;switch(e.storage()){case"sparse":n=l(e,t,d,!0);break;default:n=h(e,t,d,!0)}return n},"Array, number | BigNumber":function(t,e){return h(s(t),e,d,!1).valueOf()},"number | BigNumber, Array":function(t,e){return h(s(e),t,d,!0).valueOf()},"Array | Matrix | number | BigNumber, Array | Matrix | number | BigNumber, ...Array | Matrix | number | BigNumber":function(t,e,n){for(var r=d(t,e),i=0;i=0||e.predictable?Math.sqrt(n):new t.Complex(n,0).sqrt()}var o=r("sqrt",{number:a,Complex:function(t){return t.sqrt()},BigNumber:function(t){return!t.isNegative()||e.predictable?t.sqrt():a(t.toNumber())},"Array | Matrix":function(t){return i(t,o,!0)},Unit:function(t){return t.pow(.5)}});return o.toTex={1:"\\sqrt{${args[0]}}"},o}var i=n(764);e.name="sqrt",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("isPositive",{number:function(t){return t>0},BigNumber:function(t){return!t.isNeg()&&!t.isZero()&&!t.isNaN()},Fraction:function(t){return t.s>0&&t.n>0},Unit:function(t){return a(t.value)},"Array | Matrix":function(t){return i(t,a)}});return a}var i=n(764);n(751);e.name="isPositive",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,a){function o(e,n){if(!e.isInt()||!n.isInt())throw new Error("Parameters in function lcm must be integer numbers");if(e.isZero()||n.isZero())return new t.BigNumber(0);for(var r=e.times(n);!n.isZero();){var i=n;n=e.mod(i),e=i}return r.div(e).abs()}var s=r(n(796)),u=r(n(1104)),c=r(n(1116)),l=r(n(829)),f=r(n(801)),h=r(n(802)),d=a("lcm",{"number, number":i,"BigNumber, BigNumber":o,"Fraction, Fraction":function(t,e){return t.lcm(e)},"Matrix, Matrix":function(t,e){var n;switch(t.storage()){case"sparse":switch(e.storage()){case"sparse":n=c(t,e,d);break;default:n=u(e,t,d,!0)}break;default:switch(e.storage()){case"sparse":n=u(t,e,d,!1);break;default:n=f(t,e,d)}}return n},"Array, Array":function(t,e){return d(s(t),s(e)).valueOf()},"Array, Matrix":function(t,e){return d(s(t),e)},"Matrix, Array":function(t,e){return d(t,s(e))},"Matrix, number | BigNumber":function(t,e){var n;switch(t.storage()){case"sparse":n=l(t,e,d,!1);break;default:n=h(t,e,d,!1)}return n},"number | BigNumber, Matrix":function(t,e){var n;switch(e.storage()){case"sparse":n=l(e,t,d,!0);break;default:n=h(e,t,d,!0)}return n},"Array, number | BigNumber":function(t,e){return h(s(t),e,d,!1).valueOf()},"number | BigNumber, Array":function(t,e){return h(s(e),t,d,!0).valueOf()},"Array | Matrix | number | BigNumber, Array | Matrix | number | BigNumber, ...Array | Matrix | number | BigNumber":function(t,e,n){for(var r=d(t,e),i=0;i=0||e.predictable?Math.log(n):new t.Complex(n,0).log()},Complex:function(t){return t.log()},BigNumber:function(n){return!n.isNegative()||e.predictable?n.ln():new t.Complex(n.toNumber(),0).log()},"Array | Matrix":function(t){return i(t,s)},"any, any":function(t,e){return o(s(t),s(e))}});return s.toTex={1:"\\ln\\left(${args[0]}\\right)",2:"\\log_{${args[1]}}\\left(${args[0]}\\right)"},s}var i=n(764);e.name="log",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var o=r("log10",{number:function(n){return n>=0||e.predictable?a(n):new t.Complex(n,0).log().div(Math.LN10)},Complex:function(e){return new t.Complex(e).log().div(Math.LN10)},BigNumber:function(n){return!n.isNegative()||e.predictable?n.log():new t.Complex(n.toNumber(),0).log().div(Math.LN10)},"Array | Matrix":function(t){return i(t,o)}});return o.toTex={1:"\\log_{10}\\left(${args[0]}\\right)"},o}var i=n(764),a=Math.log10||function(t){return Math.log(t)/Math.LN10};e.name="log10",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,i){function a(t,e){if(e>0)return t-e*Math.floor(t/e);if(0===e)return t;throw new Error("Cannot calculate mod for a negative divisor")}var o=r(n(796)),s=n(776),u=r(n(1104)),c=r(n(805)),l=r(n(823)),f=r(n(829)),h=r(n(807)),d=r(n(801)),p=r(n(802)),m=i("mod",{"number, number":a,"BigNumber, BigNumber":function(t,e){return e.isZero()?t:t.mod(e)},"Fraction, Fraction":function(t,e){return t.mod(e)},"Matrix, Matrix":function(t,e){var n;switch(t.storage()){case"sparse":switch(e.storage()){case"sparse":n=l(t,e,m,!1);break;default:n=u(e,t,m,!0)}break;default:switch(e.storage()){case"sparse":n=c(t,e,m,!1);break;default:n=d(t,e,m)}}return n},"Array, Array":function(t,e){return m(o(t),o(e)).valueOf()},"Array, Matrix":function(t,e){return m(o(t),e)},"Matrix, Array":function(t,e){return m(t,o(e))},"Matrix, any":function(t,e){var n;switch(t.storage()){case"sparse":n=f(t,e,m,!1);break;default:n=p(t,e,m,!1)}return n},"any, Matrix":function(t,e){var n;switch(e.storage()){case"sparse":n=h(e,t,m,!0);break;default:n=p(e,t,m,!0)}return n},"Array, any":function(t,e){return p(o(t),e,m,!1).valueOf()},"any, Array":function(t,e){return p(o(e),t,m,!0).valueOf()}});return m.toTex={2:"\\left(${args[0]}"+s.operators.mod+"${args[1]}\\right)"},m}e.name="mod",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,i){function a(t,e){var n=t.size();if(1==n.length){if(e===Number.POSITIVE_INFINITY||"inf"===e){var r=0;return t.forEach(function(t){var e=o(t);h(e,r)&&(r=e)},!0),r}if(e===Number.NEGATIVE_INFINITY||"-inf"===e){var i;return t.forEach(function(t){var e=o(t);i&&!d(e,i)||(i=e)},!0),i||0}if("fro"===e)return a(t,2);if("number"==typeof e&&!isNaN(e)){if(!f(e,0)){var p=0;return t.forEach(function(t){p=s(u(o(t),e),p)},!0),u(p,1/e)}return Number.POSITIVE_INFINITY}throw new Error("Unsupported parameter value")}if(2==n.length){if(1===e){var _=[],g=0;return t.forEach(function(t,e){var n=e[1],r=s(_[n]||0,o(t));h(r,g)&&(g=r),_[n]=r},!0),g}if(e===Number.POSITIVE_INFINITY||"inf"===e){var v=[],x=0;return t.forEach(function(t,e){var n=e[0],r=s(v[n]||0,o(t));h(r,x)&&(x=r),v[n]=r},!0),x}if("fro"===e)return c(m(l(y(t),t)));if(2===e)throw new Error("Unsupported parameter value, missing implementation of matrix singular value decomposition");throw new Error("Unsupported parameter value")}}var o=r(n(830)),s=r(n(795)),u=r(n(826)),c=r(n(1113)),l=r(n(828)),f=r(n(792)),h=r(n(808)),d=r(n(804)),p=r(n(796)),m=r(n(1122)),y=r(n(1079)),_=i("norm",{number:Math.abs,Complex:function(t){return t.abs()},BigNumber:function(t){return t.abs()},"boolean | null":function(t){return Math.abs(t)},Array:function(t){return a(p(t),2)},Matrix:function(t){return a(t,2)},"number | Complex | BigNumber | boolean | null, number | BigNumber | string":function(t){return _(t)},"Array, number | BigNumber | string":function(t,e){return a(p(t),e)},"Matrix, number | BigNumber | string":function(t,e){return a(t,e)}});return _.toTex={1:"\\left\\|${args[0]}\\right\\|",2:void 0},_}e.name="norm",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,o){var s=r(n(796)),u=r(n(795)),c=o("trace",{Array:function(t){return c(s(t))},Matrix:function(t){var e;switch(t.storage()){case"dense":e=l(t);break;case"sparse":e=f(t)}return e},any:i}),l=function(t){var e=t._size,n=t._data;switch(e.length){case 1:if(1==e[0])return i(n[0]);throw new RangeError("Matrix must be square (size: "+a(e)+")");case 2:var r=e[0],o=e[1];if(r===o){for(var s=0,c=0;c0)for(var l=0;ll)break}return c}throw new RangeError("Matrix must be square (size: "+a(i)+")")};return c.toTex={1:"\\mathrm{tr}\\left(${args[0]}\\right)"},c}var i=n(748).clone,a=n(768).format;e.name="trace",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,o){function s(e,n){var r=t.BigNumber.precision,i=t.BigNumber.clone({precision:r+2}),a=new t.BigNumber(0),o=new i(1),s=n.isNegative();if(s&&(n=n.neg()),n.isZero())throw new Error("Root must be non-zero");if(e.isNegative()&&!n.abs().mod(2).equals(1))throw new Error("Root must be odd when a is negative.");if(e.isZero())return s?new i(1/0):0;if(!e.isFinite())return s?a:e;var u=e.abs().pow(o.div(n));return u=e.isNeg()?u.neg():u,new t.BigNumber((s?o.div(u):u).toPrecision(r))}var u=r(n(796)),c=r(n(798)),l=r(n(1104)),f=r(n(1116)),h=r(n(829)),d=r(n(801)),p=r(n(802)),m=o("nthRoot",{number:function(t){return i(t,2)},"number, number":i,BigNumber:function(e){return s(e,new t.BigNumber(2))},Complex:function(t){return a(t,2)},"Complex, number":a,"BigNumber, BigNumber":s,"Array | Matrix":function(t){return m(t,2)},"Matrix, Matrix":function(t,e){var n;switch(t.storage()){case"sparse":switch(e.storage()){case"sparse":if(1!==e.density())throw new Error("Root must be non-zero");n=f(t,e,m);break;default:n=l(e,t,m,!0)}break;default:switch(e.storage()){case"sparse":if(1!==e.density())throw new Error("Root must be non-zero");n=c(t,e,m,!1);break;default:n=d(t,e,m)}}return n},"Array, Array":function(t,e){return m(u(t),u(e)).valueOf()},"Array, Matrix":function(t,e){return m(u(t),e)},"Matrix, Array":function(t,e){return m(t,u(e))},"Matrix, number | BigNumber":function(t,e){var n;switch(t.storage()){case"sparse":n=h(t,e,m,!1);break;default:n=p(t,e,m,!1)}return n},"number | BigNumber, Matrix":function(t,e){var n;switch(e.storage()){case"sparse":if(1!==e.density())throw new Error("Root must be non-zero");n=h(e,t,m,!0);break;default:n=p(e,t,m,!0)}return n},"Array, number | BigNumber":function(t,e){return m(u(t),e).valueOf()},"number | BigNumber, Array":function(t,e){return m(t,u(e)).valueOf()}});return m.toTex={2:"\\sqrt[${args[1]}]{${args[0]}}"},m}function i(t,e){var n=e<0;if(n&&(e=-e),0===e)throw new Error("Root must be non-zero");if(t<0&&Math.abs(e)%2!=1)throw new Error("Root must be odd when a is negative.");if(0==t)return n?1/0:0;if(!isFinite(t))return n?0:t;var r=Math.pow(Math.abs(t),1/e);return r=t<0?-r:r,n?1/r:r}function a(t,e){if(e<0)throw new Error("Root must be greater than zero");if(0===e)throw new Error("Root must be non-zero");if(e%1!==0)throw new Error("Root must be an integer");for(var n=t.arg(),r=t.abs(),i=[],a=Math.pow(r,1/e),o=0;o15)throw new Error("Number of decimals in function round must be in te range of 0-15");return i(t,e)},Complex:function(t){return t.round()},"Complex, number":function(t,e){if(e%1)throw new TypeError(u);return t.round(e)},"Complex, BigNumber":function(t,e){if(!e.isInteger())throw new TypeError(u);var n=e.toNumber();return t.round(n)},"number, BigNumber":function(e,n){if(!n.isInteger())throw new TypeError(u);return new t.BigNumber(e).toDecimalPlaces(n.toNumber())},BigNumber:function(t){return t.toDecimalPlaces(0)},"BigNumber, BigNumber":function(t,e){if(!e.isInteger())throw new TypeError(u);return t.toDecimalPlaces(e.toNumber())},Fraction:function(t){return t.round()},"Fraction, number":function(t,e){if(e%1)throw new TypeError(u);return t.round(e)},"Array | Matrix":function(t){return s(t,m,!0)},"Matrix, number | BigNumber":function(t,e){var n;switch(t.storage()){case"sparse":n=h(t,e,m,!1);break;default:n=p(t,e,m,!1)}return n},"number | Complex | BigNumber, Matrix":function(t,e){if(!l(t,0)){var n;switch(e.storage()){case"sparse":n=d(e,t,m,!0);break;default:n=p(e,t,m,!0)}return n}return f(e.size(),e.storage())},"Array, number | BigNumber":function(t,e){return p(c(t),e,m,!1).valueOf()},"number | Complex | BigNumber, Array":function(t,e){return p(c(e),t,m,!0).valueOf()}});return m.toTex={1:"\\left\\lfloor${args[0]}\\right\\rceil",2:void 0},m}function i(t,e){return parseFloat(o(t,e))}var a=n(751).isInteger,o=n(751).toFixed,s=n(764),u="Number of decimals in function round must be an integer";e.name="round",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,o){function s(e,n){var r=u(e),i=r?new t.BigNumber(0):0;if(c(e),n){var o=l(n);return e.length>0?o.resize(e,i):o}var s=[];return e.length>0?a(s,e,i):s}function u(t){var e=!1;return t.forEach(function(t,n,r){t&&t.isBigNumber===!0&&(e=!0,r[n]=t.toNumber())}),e}function c(t){t.forEach(function(t){if("number"!=typeof t||!i(t)||t<0)throw new Error("Parameters in function zeros must be positive integers")})}var l=r(n(796)),f=o("zeros",{"":function(){return"Array"===e.matrix?s([]):s([],"default")},"...number | BigNumber | string":function(t){var n=t[t.length-1];if("string"==typeof n){var r=t.pop();return s(t,r)}return"Array"===e.matrix?s(t):s(t,"default")},Array:s,Matrix:function(t){var e=t.storage();return s(t.valueOf(),e)},"Array | Matrix, string":function(t,e){return s(t.valueOf(),e)}});return f.toTex=void 0,f}var i=n(751).isInteger,a=n(784).resize;e.name="zeros",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var o=r("sign",{number:i.sign,Complex:function(t){return t.sign()},BigNumber:function(e){return new t.BigNumber(e.cmp(0))},Fraction:function(e){return new t.Fraction(e.s,1)},"Array | Matrix":function(t){return a(t,o,!0)},Unit:function(t){return o(t.value)}});return o.toTex={1:"\\mathrm{${name}}\\left(${args[0]}\\right)"},o}var i=n(751),a=n(764);e.name="sign",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("square",{number:function(t){return t*t},Complex:function(t){return t.mul(t)},BigNumber:function(t){return t.times(t)},Fraction:function(t){return t.mul(t)},"Array | Matrix":function(t){return i(t,a,!0)},Unit:function(t){return t.pow(2)}});return a.toTex={1:"\\left(${args[0]}\\right)^2"},a}var i=n(764);e.name="square",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,a){var o=n(776),s=a("unaryPlus",{number:function(t){return t},Complex:function(t){return t},BigNumber:function(t){return t},Fraction:function(t){return t},Unit:function(t){return t.clone()},"Array | Matrix":function(t){return i(t,s,!0)},"boolean | string | null":function(n){return"BigNumber"==e.number?new t.BigNumber((+n)):+n}});return s.toTex={1:o.operators.unaryPlus+"\\left(${args[0]}\\right)"},s}var i=n(764);e.name="unaryPlus",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,a){function o(t,n){var r,a,o,s=0,c=1,l=1,f=0;if(!i(t)||!i(n))throw new Error("Parameters in function xgcd must be integer numbers");for(;n;)a=Math.floor(t/n),o=t%n,r=s,s=c-a*s,c=r,r=l,l=f-a*l,f=r,t=n,n=o;var h;return h=t<0?[-t,-c,-f]:[t,t?c:0,f],"Array"===e.matrix?h:u(h)}function s(n,r){var i,a,o,s=new t.BigNumber(0),c=new t.BigNumber(1),l=s,f=c,h=c,d=s;if(!n.isInt()||!r.isInt())throw new Error("Parameters in function xgcd must be integer numbers");for(;!r.isZero();)a=n.div(r).floor(),o=n.mod(r),i=l,l=f.minus(a.times(l)),f=i,i=h,h=d.minus(a.times(h)),d=i,n=r,r=o;var p;return p=n.lt(s)?[n.neg(),f.neg(),d.neg()]:[n,n.isZero()?0:f,d],"Array"===e.matrix?p:u(p)}var u=r(n(796)),c=a("xgcd",{"number, number":o,"BigNumber, BigNumber":s});return c.toTex=void 0,c}var i=n(751).isInteger;e.name="xgcd",e.factory=r},function(t,e,n){t.exports=[n(1131),n(1135),n(1136),n(1138),n(1140),n(1143),n(1145)]},function(t,e,n){"use strict";function r(t,e,r,o){var s=n(776),u=r(n(796)),c=r(n(1104)),l=r(n(1116)),f=r(n(829)),h=r(n(801)),d=r(n(802)),p=o("bitAnd",{"number, number":function(t,e){if(!i(t)||!i(e))throw new Error("Integers expected in function bitAnd");return t&e},"BigNumber, BigNumber":a,"Matrix, Matrix":function(t,e){var n;switch(t.storage()){case"sparse":switch(e.storage()){case"sparse":n=l(t,e,p,!1);break;default:n=c(e,t,p,!0)}break;default:switch(e.storage()){case"sparse":n=c(t,e,p,!1);break;default:n=h(t,e,p)}}return n},"Array, Array":function(t,e){return p(u(t),u(e)).valueOf()},"Array, Matrix":function(t,e){return p(u(t),e)},"Matrix, Array":function(t,e){return p(t,u(e))},"Matrix, any":function(t,e){var n;switch(t.storage()){case"sparse":n=f(t,e,p,!1);break;default:n=d(t,e,p,!1)}return n},"any, Matrix":function(t,e){var n;switch(e.storage()){case"sparse":n=f(e,t,p,!0);break;default:n=d(e,t,p,!0)}return n},"Array, any":function(t,e){return d(u(t),e,p,!1).valueOf()},"any, Array":function(t,e){return d(u(e),t,p,!0).valueOf()}});return p.toTex={2:"\\left(${args[0]}"+s.operators.bitAnd+"${args[1]}\\right)"},p}var i=n(751).isInteger,a=n(1132);e.name="bitAnd",e.factory=r},function(t,e,n){var r=n(1133);t.exports=function(t,e){if(t.isFinite()&&!t.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function bitAnd");var n=t.constructor;if(t.isNaN()||e.isNaN())return new n(NaN);if(t.isZero()||e.eq(-1)||t.eq(e))return t;if(e.isZero()||t.eq(-1))return e;if(!t.isFinite()||!e.isFinite()){if(!t.isFinite()&&!e.isFinite())return t.isNegative()==e.isNegative()?t:new n(0);if(!t.isFinite())return e.isNegative()?t:t.isNegative()?new n(0):e;if(!e.isFinite())return t.isNegative()?e:e.isNegative()?new n(0):t}return r(t,e,function(t,e){return t&e})}},function(t,e,n){function r(t){for(var e=t.d,n=e[0]+"",r=1;r0)if(++s>c)for(s-=c;s--;u+="0");else s1&&(null==l[o+1]&&(l[o+1]=0),l[o+1]+=l[o]>>1,l[o]&=1)}return l.reverse()}var i=n(1134);t.exports=function(t,e,n){var a,o,s=t.constructor,u=+(t.s<0),c=+(e.s<0);if(u){a=r(i(t));for(var l=0;l0;)n(f[--p],h[--m])==y&&(_=_.plus(g)),g=g.times(v);for(;m>0;)n(d,h[--m])==y&&(_=_.plus(g)),g=g.times(v);return s.config({precision:x}),0==y&&(_.s=-_.s),_}},function(t,e){t.exports=function(t){if(t.isFinite()&&!t.isInteger())throw new Error("Integer expected in function bitNot");var e=t.constructor,n=e.precision;e.config({precision:1e9});var t=t.plus(new e(1));return t.s=-t.s||null,e.config({precision:n}),t}},function(t,e,n){"use strict";function r(t,e,r,s){var u=n(776),c=s("bitNot",{number:function(t){if(!o(t))throw new Error("Integer expected in function bitNot");return~t},BigNumber:a,"Array | Matrix":function(t){return i(t,c)}});return c.toTex={1:u.operators.bitNot+"\\left(${args[0]}\\right)"},c}var i=n(764),a=n(1134),o=n(751).isInteger;e.name="bitNot",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,o){var s=n(776),u=r(n(796)),c=r(n(798)),l=r(n(799)),f=r(n(800)),h=r(n(801)),d=r(n(802)),p=o("bitOr",{"number, number":function(t,e){if(!i(t)||!i(e))throw new Error("Integers expected in function bitOr");return t|e},"BigNumber, BigNumber":a,"Matrix, Matrix":function(t,e){var n;switch(t.storage()){case"sparse":switch(e.storage()){case"sparse":n=l(t,e,p);break;default:n=c(e,t,p,!0)}break;default:switch(e.storage()){case"sparse":n=c(t,e,p,!1);break;default:n=h(t,e,p)}}return n},"Array, Array":function(t,e){return p(u(t),u(e)).valueOf()},"Array, Matrix":function(t,e){return p(u(t),e)},"Matrix, Array":function(t,e){return p(t,u(e))},"Matrix, any":function(t,e){var n;switch(t.storage()){case"sparse":n=f(t,e,p,!1);break;default:n=d(t,e,p,!1)}return n},"any, Matrix":function(t,e){var n;switch(e.storage()){case"sparse":n=f(e,t,p,!0);break;default:n=d(e,t,p,!0)}return n},"Array, any":function(t,e){return d(u(t),e,p,!1).valueOf()},"any, Array":function(t,e){return d(u(e),t,p,!0).valueOf()}});return p.toTex={2:"\\left(${args[0]}"+s.operators.bitOr+"${args[1]}\\right)"},p}var i=n(751).isInteger,a=n(1137);e.name="bitOr",e.factory=r},function(t,e,n){var r=n(1133);t.exports=function(t,e){if(t.isFinite()&&!t.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function bitOr");var n=t.constructor;if(t.isNaN()||e.isNaN())return new n(NaN);var i=new n((-1));return t.isZero()||e.eq(i)||t.eq(e)?e:e.isZero()||t.eq(i)?t:t.isFinite()&&e.isFinite()?r(t,e,function(t,e){return t|e}):!t.isFinite()&&!t.isNegative()&&e.isNegative()||t.isNegative()&&!e.isNegative()&&!e.isFinite()?i:t.isNegative()&&e.isNegative()?t.isFinite()?t:e:t.isFinite()?e:t;
}},function(t,e,n){"use strict";function r(t,e,r,o){var s=n(776),u=r(n(796)),c=r(n(805)),l=r(n(806)),f=r(n(807)),h=r(n(801)),d=r(n(802)),p=o("bitXor",{"number, number":function(t,e){if(!i(t)||!i(e))throw new Error("Integers expected in function bitXor");return t^e},"BigNumber, BigNumber":a,"Matrix, Matrix":function(t,e){var n;switch(t.storage()){case"sparse":switch(e.storage()){case"sparse":n=l(t,e,p);break;default:n=c(e,t,p,!0)}break;default:switch(e.storage()){case"sparse":n=c(t,e,p,!1);break;default:n=h(t,e,p)}}return n},"Array, Array":function(t,e){return p(u(t),u(e)).valueOf()},"Array, Matrix":function(t,e){return p(u(t),e)},"Matrix, Array":function(t,e){return p(t,u(e))},"Matrix, any":function(t,e){var n;switch(t.storage()){case"sparse":n=f(t,e,p,!1);break;default:n=d(t,e,p,!1)}return n},"any, Matrix":function(t,e){var n;switch(e.storage()){case"sparse":n=f(e,t,p,!0);break;default:n=d(e,t,p,!0)}return n},"Array, any":function(t,e){return d(u(t),e,p,!1).valueOf()},"any, Array":function(t,e){return d(u(e),t,p,!0).valueOf()}});return p.toTex={2:"\\left(${args[0]}"+s.operators.bitXor+"${args[1]}\\right)"},p}var i=n(751).isInteger,a=n(1139);e.name="bitXor",e.factory=r},function(t,e,n){var r=n(1133),i=n(1134);t.exports=function(t,e){if(t.isFinite()&&!t.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function bitXor");var n=t.constructor;if(t.isNaN()||e.isNaN())return new n(NaN);if(t.isZero())return e;if(e.isZero())return t;if(t.eq(e))return new n(0);var a=new n((-1));return t.eq(a)?i(e):e.eq(a)?i(t):t.isFinite()&&e.isFinite()?r(t,e,function(t,e){return t^e}):t.isFinite()||e.isFinite()?new n(t.isNegative()==e.isNegative()?1/0:-(1/0)):a}},function(t,e,n){"use strict";function r(t,e,r,o){var s=n(776),u=r(n(796)),c=r(n(792)),l=r(n(1125)),f=r(n(798)),h=r(n(1104)),d=r(n(1142)),p=r(n(800)),m=r(n(829)),y=r(n(801)),_=r(n(802)),g=o("leftShift",{"number, number":function(t,e){if(!i(t)||!i(e))throw new Error("Integers expected in function leftShift");return t<>e},"BigNumber, BigNumber":a,"Matrix, Matrix":function(t,e){var n;switch(t.storage()){case"sparse":switch(e.storage()){case"sparse":n=d(t,e,g,!1);break;default:n=h(e,t,g,!0)}break;default:switch(e.storage()){case"sparse":n=f(t,e,g,!1);break;default:n=y(t,e,g)}}return n},"Array, Array":function(t,e){return g(u(t),u(e)).valueOf()},"Array, Matrix":function(t,e){return g(u(t),e)},"Matrix, Array":function(t,e){return g(t,u(e))},"Matrix, number | BigNumber":function(t,e){if(!c(e,0)){var n;switch(t.storage()){case"sparse":n=m(t,e,g,!1);break;default:n=_(t,e,g,!1)}return n}return t.clone()},"number | BigNumber, Matrix":function(t,e){if(!c(t,0)){var n;switch(e.storage()){case"sparse":n=p(e,t,g,!0);break;default:n=_(e,t,g,!0)}return n}return l(e.size(),e.storage())},"Array, number | BigNumber":function(t,e){return g(u(t),e).valueOf()},"number | BigNumber, Array":function(t,e){return g(t,u(e)).valueOf()}});return g.toTex={2:"\\left(${args[0]}"+s.operators.rightArithShift+"${args[1]}\\right)"},g}var i=n(751).isInteger,a=n(1144);e.name="rightArithShift",e.factory=r},function(t,e){t.exports=function(t,e){if(t.isFinite()&&!t.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function rightArithShift");var n=t.constructor;return t.isNaN()||e.isNaN()||e.isNegative()&&!e.isZero()?new n(NaN):t.isZero()||e.isZero()?t:e.isFinite()?e.lt(55)?t.div(Math.pow(2,e.toNumber())+"").floor():t.div(new n(2).pow(e)).floor():new n(t.isNegative()?-1:t.isFinite()?0:NaN)}},function(t,e,n){"use strict";function r(t,e,r,a){var o=n(776),s=r(n(796)),u=r(n(792)),c=r(n(1125)),l=r(n(798)),f=r(n(1104)),h=r(n(1142)),d=r(n(800)),p=r(n(829)),m=r(n(801)),y=r(n(802)),_=a("rightLogShift",{"number, number":function(t,e){if(!i(t)||!i(e))throw new Error("Integers expected in function rightLogShift");return t>>>e},"Matrix, Matrix":function(t,e){var n;switch(t.storage()){case"sparse":switch(e.storage()){case"sparse":n=h(t,e,_,!1);break;default:n=f(e,t,_,!0)}break;default:switch(e.storage()){case"sparse":n=l(t,e,_,!1);break;default:n=m(t,e,_)}}return n},"Array, Array":function(t,e){return _(s(t),s(e)).valueOf()},"Array, Matrix":function(t,e){return _(s(t),e)},"Matrix, Array":function(t,e){return _(t,s(e))},"Matrix, number | BigNumber":function(t,e){if(!u(e,0)){var n;switch(t.storage()){case"sparse":n=p(t,e,_,!1);break;default:n=y(t,e,_,!1)}return n}return t.clone()},"number | BigNumber, Matrix":function(t,e){if(!u(t,0)){var n;switch(e.storage()){case"sparse":n=d(e,t,_,!0);break;default:n=y(e,t,_,!0)}return n}return c(e.size(),e.storage())},"Array, number | BigNumber":function(t,e){return _(s(t),e).valueOf()},"number | BigNumber, Array":function(t,e){return _(t,s(e)).valueOf()}});return _.toTex={2:"\\left(${args[0]}"+o.operators.rightLogShift+"${args[1]}\\right)"},_}var i=n(751).isInteger;e.name="rightLogShift",e.factory=r},function(t,e,n){t.exports=[n(1147),n(1153),n(1148),n(1154)]},function(t,e,n){"use strict";function r(t,e,r,i){var a=r(n(795)),o=r(n(1148)),s=r(n(1100)),u=r(n(1152)),c=i("bellNumbers",{"number | BigNumber":function(t){if(!u(t)||s(t))throw new TypeError("Non-negative integer value expected in function bellNumbers");for(var e=0,n=0;n<=t;n++)e=a(e,o(t,n));return e}});return c.toTex={1:"\\mathrm{B}_{${args[0]}}"},c}e.name="bellNumbers",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,i){var a=r(n(795)),o=r(n(821)),s=r(n(828)),u=r(n(1061)),c=r(n(826)),l=r(n(1149)),f=r(n(1151)),h=r(n(1100)),d=r(n(1152)),p=r(n(808)),m=i("stirlingS2",{"number | BigNumber, number | BigNumber":function(t,e){if(!d(t)||h(t)||!d(e)||h(e))throw new TypeError("Non-negative integer value expected in function stirlingS2");if(p(e,t))throw new TypeError("k must be less than or equal to n in function stirlingS2");for(var n=l(e),r=0,i=0;i<=e;i++){var m=c(-1,o(e,i)),y=f(e,i),_=c(i,t);r=a(r,s(s(y,_),m))}return u(r,n)}});return m.toTex={2:"\\mathrm{S}\\left(${args}\\right)"},m}e.name="stirlingS2",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,a){var o=r(n(1150)),s=n(776),u=a("factorial",{number:function(t){if(t<0)throw new Error("Value must be non-negative");return o(t+1)},BigNumber:function(t){if(t.isNegative())throw new Error("Value must be non-negative");return o(t.plus(1))},"Array | Matrix":function(t){return i(t,u)}});return u.toTex={1:"\\left(${args[0]}\\right)"+s.operators.factorial},u}var i=n(764);e.name="factorial",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,u){function c(n){if(n.isZero())return new t.BigNumber(1);for(var r=e.precision+(0|Math.log(n.toNumber())),i=t.BigNumber.clone({precision:r}),a=new i(n),o=n.toNumber()-1;o>1;)a=a.times(o),o--;return new t.BigNumber(a.toPrecision(t.BigNumber.precision))}var l=r(n(828)),f=r(n(826)),h=u("gamma",{number:function(t){var e,n;if(a(t)){if(t<=0)return isFinite(t)?1/0:NaN;if(t>171)return 1/0;for(var r=t-2,i=t-1;r>1;)i*=r,r--;return 0==i&&(i=1),i}if(t<.5)return Math.PI/(Math.sin(Math.PI*t)*h(1-t));if(t>=171.35)return 1/0;if(t>85){var u=t*t,c=u*t,l=c*t,f=l*t;return Math.sqrt(2*Math.PI/t)*Math.pow(t/Math.E,t)*(1+1/(12*t)+1/(288*u)-139/(51840*c)-571/(2488320*l)+163879/(209018880*f)+5246819/(75246796800*f*t))}--t,n=s[0];for(var d=1;dt)throw new TypeError("k must be less than or equal to n");for(n=Math.max(e,t-e),r=1,i=1;i<=t-n;i++)r=r*(n+i)/i;return r},"BigNumber, BigNumber":function(e,n){var r,a,o,s,u=new t.BigNumber(1);if(!i(e)||!i(n))throw new TypeError("Positive integer value expected in function combinations");if(n.gt(e))throw new TypeError("k must be less than n in function combinations");for(r=e.minus(n),n.lt(r)&&(r=n),a=u,o=u,s=e.minus(r);o.lte(s);o=o.plus(1))a=a.times(r.plus(o)).dividedBy(o);return a}});return o.toTex={2:"\\binom{${args[0]}}{${args[1]}}"},o}function i(t){return t.isInteger()&&t.gte(0)}var a=n(751).isInteger;e.name="combinations",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var o=r("isInteger",{number:a.isInteger,BigNumber:function(t){return t.isInt()},Fraction:function(t){return 1===t.d&&isFinite(t.n)},"Array | Matrix":function(t){return i(t,o)}});return o}var i=n(764),a=n(751);e.name="isInteger",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,i){var a=r(n(1151)),o=r(n(797)),s=r(n(1114)),u=r(n(1152)),c=r(n(808)),l=i("composition",{"number | BigNumber, number | BigNumber":function(t,e){if(!(u(t)&&s(t)&&u(e)&&s(e)))throw new TypeError("Positive integer value expected in function composition");if(c(e,t))throw new TypeError("k must be less than or equal to n in function composition");return a(o(t,-1),o(e,-1))}});return l.toTex=void 0,l}e.name="composition",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,i){var a=r(n(795)),o=r(n(1061)),s=r(n(828)),u=r(n(1151)),c=r(n(1100)),l=r(n(1152)),f=i("catalan",{"number | BigNumber":function(t){if(!l(t)||c(t))throw new TypeError("Non-negative integer value expected in function catalan");return o(u(s(t,2),t),a(t,1))}});return f.toTex={1:"\\mathrm{C}_{${args[0]}}"},f}e.name="catalan",e.factory=r},function(t,e,n){t.exports=[n(1156),n(1157),n(1158),n(1159)]},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("arg",{number:function(t){return Math.atan2(0,t)},Complex:function(t){return t.arg()},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\arg\\left(${args[0]}\\right)"},a}var i=n(764);e.name="arg",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("conj",{number:function(t){return t},BigNumber:function(t){return t},Complex:function(t){return t.conjugate()},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\left(${args[0]}\\right)^*"},a}var i=n(764);e.name="conj",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("im",{number:function(t){return 0},BigNumber:function(e){return new t.BigNumber(0)},Complex:function(t){return t.im},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\Im\\left\\lbrace${args[0]}\\right\\rbrace"},a}var i=n(764);e.name="im",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("re",{number:function(t){return t},BigNumber:function(t){return t},Complex:function(t){return t.re},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\Re\\left\\lbrace${args[0]}\\right\\rbrace"},a}var i=n(764);e.name="re",e.factory=r},function(t,e,n){t.exports=[n(1161),n(1162)]},function(t,e,n){"use strict";function r(t,e,r,i){function a(t){return 2===t.length&&"number"==typeof t[0]&&"number"==typeof t[1]}function o(t){return 3===t.length&&"number"==typeof t[0]&&"number"==typeof t[1]&&"number"==typeof t[2]}function s(t){return 4===t.length&&"number"==typeof t[0]&&"number"==typeof t[1]&&"number"==typeof t[2]&&"number"==typeof t[3]}function u(t,n,r,i){var a=t,o=r,s=m(a,n),u=m(o,i),c=s[0]*u[1]-u[0]*s[1];if(f(c)0?e:0,o=e<0?-e:0;switch(n.length){case 1:return u(t,e,r,n[0],o,i);case 2:return c(t,e,r,n,o,i)}throw new RangeError("Matrix for function diag must be 2 dimensional")}function u(e,n,r,i,a,o){var s=[i+a,i+o],u=t.Matrix.storage(r||"dense"),c=u.diagonal(s,e,n);return null!==r?c:c.valueOf()}function c(t,e,n,r,i,a){if(t&&t.isMatrix===!0){var o=t.diagonal(e);return null!==n?n!==o.storage()?l(o,n):o:o.valueOf()}for(var s=Math.min(r[0]-i,r[1]-a),u=[],c=0;c0?o.resize(e,i):o}var s=[];return e.length>0?a(s,e,i):s}function u(t){var e=!1;return t.forEach(function(t,n,r){t&&t.isBigNumber===!0&&(e=!0,
r[n]=t.toNumber())}),e}function c(t){t.forEach(function(t){if("number"!=typeof t||!i(t)||t<0)throw new Error("Parameters in function ones must be positive integers")})}var l=r(n(796)),f=o("ones",{"":function(){return"Array"===e.matrix?s([]):s([],"default")},"...number | BigNumber | string":function(t){var n=t[t.length-1];if("string"==typeof n){var r=t.pop();return s(t,r)}return"Array"===e.matrix?s(t):s(t,"default")},Array:s,Matrix:function(t){var e=t.storage();return s(t.valueOf(),e)},"Array | Matrix, string":function(t,e){return s(t.valueOf(),e)}});return f.toTex=void 0,f}var i=n(751).isInteger,a=n(784).resize;e.name="ones",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,a){function o(t,e){return-c(t,e)}function s(t,e,n){if(!i(e)||e<0)throw new Error("k must be a non-negative integer");if(t&&t.isMatrix){var r=t.size();if(r.length>1)throw new Error("Only one dimensional matrices supported");return u(t.valueOf(),e,n)}if(Array.isArray(t))return u(t,e,n)}function u(t,e,n){if(e>=t.length)throw new Error("k out of bounds");for(var r=0,i=t.length-1;r=0){var u=t[o];t[o]=t[a],t[a]=u,--o}else++a;n(t[a],s)>0&&--a,e<=a?i=a:r=a+1}return t[e]}var c=r(n(1176));return a("partitionSelect",{"Array | Matrix, number":function(t,e){return s(t,e,c)},"Array | Matrix, number, string":function(t,e,n){if("asc"===n)return s(t,e,c);if("desc"===n)return s(t,e,o);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":s})}var i=n(751).isInteger;e.name="partitionSelect",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,o){var s=r(n(796)),u=r(n(805)),c=r(n(823)),l=r(n(807)),f=r(n(801)),h=r(n(802)),d=o("compare",{"boolean, boolean":function(t,e){return t===e?0:t>e?1:-1},"number, number":function(t,n){return t===n||i(t,n,e.epsilon)?0:t>n?1:-1},"BigNumber, BigNumber":function(n,r){return n.eq(r)||a(n,r,e.epsilon)?new t.BigNumber(0):new t.BigNumber(n.cmp(r))},"Fraction, Fraction":function(e,n){return new t.Fraction(e.compare(n))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")},"Unit, Unit":function(t,e){if(!t.equalBase(e))throw new Error("Cannot compare units with different base");return d(t.value,e.value)},"string, string":function(t,e){return t===e?0:t>e?1:-1},"Matrix, Matrix":function(t,e){var n;switch(t.storage()){case"sparse":switch(e.storage()){case"sparse":n=c(t,e,d);break;default:n=u(e,t,d,!0)}break;default:switch(e.storage()){case"sparse":n=u(t,e,d,!1);break;default:n=f(t,e,d)}}return n},"Array, Array":function(t,e){return d(s(t),s(e)).valueOf()},"Array, Matrix":function(t,e){return d(s(t),e)},"Matrix, Array":function(t,e){return d(t,s(e))},"Matrix, any":function(t,e){var n;switch(t.storage()){case"sparse":n=l(t,e,d,!1);break;default:n=h(t,e,d,!1)}return n},"any, Matrix":function(t,e){var n;switch(e.storage()){case"sparse":n=l(e,t,d,!0);break;default:n=h(e,t,d,!0)}return n},"Array, any":function(t,e){return h(s(t),e,d,!1).valueOf()},"any, Array":function(t,e){return h(s(e),t,d,!0).valueOf()}});return d.toTex=void 0,d}var i=n(751).nearlyEqual,a=n(793);e.name="compare",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,l){function f(t,e,n){if(void 0!==n){if("string"!=typeof n||1!==n.length)throw new TypeError("Single character expected as defaultValue")}else n=" ";if(1!==e.length)throw new i(e.length,1);var r=e[0];if("number"!=typeof r||!o(r))throw new TypeError("Invalid size, must contain positive integers (size: "+s(e)+")");if(t.length>r)return t.substring(0,r);if(t.length1)throw new Error("first object must be one dimensional");if(r>1)throw new Error("second object must be one dimensional");if(n!==r)throw new Error("Length of two vectors must be equal");var i=u(t);if(0===i)throw new Error("Sum of elements in first object must be non zero");var a=u(e);if(0===a)throw new Error("Sum of elements in second object must be non zero");var o=s(t,u(t)),d=s(e,u(e)),p=u(c(o,f(l(o,d))));return h(p)?p:Number.NaN}var o=r(n(796)),s=r(n(1061)),u=r(n(1183)),c=r(n(828)),l=r(n(1103)),f=r(n(1118)),h=r(n(832)),d=i("kldivergence",{"Array, Array":function(t,e){return a(o(t),o(e))},"Matrix, Array":function(t,e){return a(t,o(e))},"Array, Matrix":function(t,e){return a(o(t),e)},"Matrix, Matrix":function(t,e){return a(t,e)}});return d}e.name="kldivergence",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,a){function o(n){var r=void 0;if(i(n,function(t){r=void 0===r?t:s(r,t)}),void 0===r)switch(e.number){case"number":return 0;case"BigNumber":return new t.BigNumber(0);case"Fraction":return new t.Fraction(0);default:return 0}return r}var s=r(n(797)),u=a("sum",{"Array | Matrix":function(t){return o(t)},"Array | Matrix, number | BigNumber":function(){throw new Error("sum(A, dim) is not yet supported")},"...":function(t){return o(t)}});return u.toTex=void 0,u}var i=n(1056);e.name="sum",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,a){var o=r(n(795)),s=r(n(828)),u=r(n(1061)),c=r(n(1149)),l=r(n(1152)),f=r(n(1114));return a("multinomial",{"Array | Matrix":function(t){var e=0,n=1;return i(t,function(t){if(!l(t)||!f(t))throw new TypeError("Positive integer value expected in function multinomial");e=o(e,t),n=s(n,c(t))}),u(c(e),n)}})}var i=n(1056);e.name="multinomial",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,o){var s=r(n(1149)),u=o("permutations",{"number | BigNumber":s,"number, number":function(t,e){var n,r;if(!a(t)||t<0)throw new TypeError("Positive integer value expected in function permutations");if(!a(e)||e<0)throw new TypeError("Positive integer value expected in function permutations");if(e>t)throw new TypeError("second argument k must be less than or equal to first argument n");for(n=1,r=t-e+1;r<=t;r++)n*=r;return n},"BigNumber, BigNumber":function(e,n){var r,a;if(!i(e)||!i(n))throw new TypeError("Positive integer value expected in function permutations");if(n.gt(e))throw new TypeError("second argument k must be less than or equal to first argument n");for(r=new t.BigNumber(1),a=e.minus(n).plus(1);a.lte(e);a=a.plus(1))r=r.times(a);return r}});return u.toTex=void 0,u}function i(t){return t.isInteger()&&t.gte(0)}var a=n(751).isInteger;e.name="permutations",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,i){var a=r(n(1187)),o=a("uniform").pickRandom;return o.toTex=void 0,o}e.name="pickRandom",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,o){function s(t){if(!l.hasOwnProperty(t))throw new Error("Unknown distribution "+t);var e=Array.prototype.slice.call(arguments,1),n=l[t].apply(this,e);return function(t){var e={random:function(t,e,r){var s,c,l;if(arguments.length>3)throw new i("random",arguments.length,0,3);if(1===arguments.length?a(t)?s=t:l=t:2===arguments.length?a(t)?(s=t,l=e):(c=t,l=e):(s=t,c=e,l=r),void 0===l&&(l=1),void 0===c&&(c=0),void 0!==s){var f=o(s.valueOf(),c,l,n);return s&&s.isMatrix===!0?u(f):f}return n(c,l)},randomInt:function(t,e,n){var s,c,l;if(arguments.length>3||arguments.length<1)throw new i("randomInt",arguments.length,1,3);if(1===arguments.length?a(t)?s=t:l=t:2===arguments.length?a(t)?(s=t,l=e):(c=t,l=e):(s=t,c=e,l=n),void 0===c&&(c=0),void 0!==s){var f=o(s.valueOf(),c,l,r);return s&&s.isMatrix===!0?u(f):f}return r(c,l)},pickRandom:function(t){if(1!==arguments.length)throw new i("pickRandom",arguments.length,1);if(t&&t.isMatrix===!0)t=t.valueOf();else if(!Array.isArray(t))throw new TypeError("Unsupported type of value in function pickRandom");if(c.size(t).length>1)throw new Error("Only one dimensional vectors supported");return t[Math.floor(Math.random()*t.length)]}},n=function(e,n){return e+t()*(n-e)},r=function(e,n){return Math.floor(e+t()*(n-e))},o=function(t,e,n,r){var i,a,s=[];if(t=t.slice(0),t.length>1)for(a=0,i=t.shift();a1;)t=Math.random(),e=Math.random(),n=1/6*Math.pow(-2*Math.log(t),.5)*Math.cos(2*Math.PI*e)+.5;return n}}};return s.toTex=void 0,s}var i=n(756),a=n(1054);e.name="distribution",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,i){var a=r(n(1187)),o=a("uniform").random;return o.toTex=void 0,o}e.name="random",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,i){var a=r(n(1187)),o=a("uniform").randomInt;return o.toTex=void 0,o}e.name="randomInt",e.factory=r},function(t,e,n){t.exports=[n(1176),n(1191),n(831),n(808),n(1086),n(804),n(1192),n(1193)]},function(t,e,n){"use strict";function r(t,e,r,i){function a(t,e){if(Array.isArray(t)){if(Array.isArray(e)){var n=t.length;if(n!==e.length)return!1;for(var r=0;r0&&(a=t[o]);return p(a,r)}var s=f(t,(e-1)/2);return d(s)}var u=r(n(797)),c=r(n(825)),l=r(n(1176)),f=r(n(1175)),h=o("median",{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(t,e){throw new Error("median(A, dim) is not yet supported")},"...":function(t){if(a(t))throw new TypeError("Scalar values expected in function median");return s(t)}}),d=o({"number | BigNumber | Unit":function(t){return t}}),p=o({"number | BigNumber | Unit, number | BigNumber | Unit":function(t,e){return c(u(t,e),2)}});return h.toTex=void 0,h}var i=n(784).flatten,a=(n(1057),n(1058));e.name="median",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){function a(t){t=i(t.valueOf());var e=t.length;if(0==e)throw new Error("Cannot calculate mode of an empty array");var n={},r=[],a=0;for(var o in t)t[o]in n||(n[t[o]]=0),n[t[o]]++,n[t[o]]==a?r.push(t[o]):n[t[o]]>a&&(a=n[t[o]],r=[t[o]]);return r}var o=r("mode",{"Array | Matrix":a,"...":function(t){return a(t)}});return o}var i=n(784).flatten;e.name="mode",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,a){function o(t){var e=void 0;if(i(t,function(t){e=void 0===e?t:s(e,t)}),void 0===e)throw new Error("Cannot calculate prod of an empty array");return e}var s=r(n(824)),u=a("prod",{"Array | Matrix":o,"Array | Matrix, number | BigNumber":function(t,e){throw new Error("prod(A, dim) is not yet supported")},"...":function(t){return o(t)}});return u.toTex=void 0,u}var i=n(1056);e.name="prod",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,u){function c(e,n,r){var o,u,c;if(arguments.length<2||arguments.length>3)throw new SyntaxError("Function quantileSeq requires two or three parameters");if(s(e)){if(r=r||!1,"boolean"==typeof r){if(u=e.valueOf(),a(n)){if(n<0)throw new Error("N/prob must be non-negative");if(n<=1)return l(u,n,r);if(n>1){if(!i(n))throw new Error("N must be a positive integer");var f=n+1;o=new Array(n);for(var h=0;h4294967295)throw new Error("N must be less than or equal to 2^32-1, as that is the maximum length of an Array");var f=new t.BigNumber(d+1);o=new Array(d);for(var h=0;h1)throw new Error("Probability must be between 0 and 1, inclusive")}else{if(!p||!p.isBigNumber)throw new TypeError("Unexpected type of argument in function quantileSeq");if(c=new p.constructor(1),p.isNegative()||p.gt(c))throw new Error("Probability must be between 0 and 1, inclusive")}o[h]=l(u,p,r)}return o}throw new TypeError("Unexpected type of argument in function quantileSeq")}throw new TypeError("Unexpected type of argument in function quantileSeq")}throw new TypeError("Unexpected type of argument in function quantileSeq")}function l(t,e,n){var r=o(t),i=r.length;if(0===i)throw new Error("Cannot calculate quantile of an empty sequence");if(a(e)){var s=e*(i-1),u=s%1;if(0===u){var c=n?r[s]:d(r,s);return m(c),c}var l,y,_=Math.floor(s);if(n)l=r[_],y=r[_+1];else{y=d(r,_+1),l=r[_];for(var g=0;g<_;++g)p(r[g],l)>0&&(l=r[g])}return m(l),m(y),f(h(l,1-u),h(y,u))}var s=e.times(i-1);if(s.isInteger()){s=s.toNumber();var c=n?r[s]:d(r,s);return m(c),c}var l,y,_=s.floor(),u=s.minus(_),v=_.toNumber();if(n)l=r[v],y=r[v+1];else{y=d(r,v+1),l=r[v];for(var g=0;g0&&(l=r[g])}m(l),m(y);var x=new u.constructor(1);return f(h(l,x.minus(u)),h(y,u))}var f=r(n(795)),h=r(n(828)),d=r(n(1175)),p=r(n(1176)),m=u({"number | BigNumber | Unit":function(t){return t}});return c}var i=n(751).isInteger,a=n(751).isNumber,o=n(784).flatten,s=n(1054);e.name="quantileSeq",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,i){function a(t,e){if(0==t.length)throw new SyntaxError("Function std requires one or more parameters (0 provided)");return o(s.apply(null,arguments))}var o=r(n(1113)),s=r(n(1200)),u=i("std",{"Array | Matrix":a,"Array | Matrix, string":a,"...":function(t){return a(t)}});return u.toTex=void 0,u}e.name="std",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,o){function s(e,n){var r=0,i=0;if(0==e.length)throw new SyntaxError("Function var requires one or more parameters (0 provided)");if(a(e,function(t){r=u(r,t),i++}),0===i)throw new Error("Cannot calculate var of an empty array");var o=f(r,i);switch(r=0,a(e,function(t){var e=c(t,o);r=u(r,l(e,e))}),n){case"uncorrected":return f(r,i);case"biased":return f(r,i+1);case"unbiased":var s=r&&r.isBigNumber===!0?new t.BigNumber(0):0;return 1==i?s:f(r,i-1);default:throw new Error('Unknown normalization "'+n+'". Choose "unbiased" (default), "uncorrected", or "biased".')}}var u=r(n(797)),c=r(n(821)),l=r(n(824)),f=r(n(825)),h=o("variance",{"Array | Matrix":function(t){return s(t,i)},"Array | Matrix, string":s,"...":function(t){return s(t,i)}});return h.toTex="\\mathrm{Var}\\left(${args}\\right)",h}var i="unbiased",a=n(1056);e.name="var",e.factory=r},function(t,e,n){t.exports=[n(833),n(1202)]},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("print",{"string, Object":i,"string, Object, number":i});return a.toTex=void 0,a}function i(t,e,n){return t.replace(/\$([\w\.]+)/g,function(t,r){for(var i=r.split("."),s=e[i.shift()];i.length&&void 0!==s;){var u=i.shift();s=u?s[u]:s+"."}return void 0!==s?a(s)?s:o(s,n):t})}var a=n(768).isString,o=n(768).format;e.name="print",e.factory=r},function(t,e,n){t.exports=[n(1204),n(1205),n(1206),n(1207),n(1208),n(1209),n(1210),n(1211),n(1212),n(1213),n(1214),n(1215),n(1216),n(1217),n(1218),n(1219),n(1220),n(1221),n(1222),n(1223),n(1224),n(1225),n(1226),n(1227),n(1228)]},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("acos",{number:function(n){return n>=-1&&n<=1||e.predictable?Math.acos(n):new t.Complex(n,0).acos()},Complex:function(t){return t.acos()},BigNumber:function(t){return t.acos()},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\cos^{-1}\\left(${args[0]}\\right)"},a}var i=n(764);e.name="acos",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var o=r("acosh",{number:function(n){return n>=1||e.predictable?a(n):n<=-1?new t.Complex(Math.log(Math.sqrt(n*n-1)-n),Math.PI):new t.Complex(n,0).acosh()},Complex:function(t){return t.acosh()},BigNumber:function(t){return t.acosh()},"Array | Matrix":function(t){return i(t,o)}});return o.toTex={1:"\\cosh^{-1}\\left(${args[0]}\\right)"},o}var i=n(764),a=Math.acosh||function(t){return Math.log(Math.sqrt(t*t-1)+t)};e.name="acosh",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("acot",{number:function(t){return Math.atan(1/t)},Complex:function(t){return t.acot()},BigNumber:function(e){return new t.BigNumber(1).div(e).atan()},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\cot^{-1}\\left(${args[0]}\\right)"},a}var i=n(764);e.name="acot",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("acoth",{number:function(n){return n>=1||n<=-1||e.predictable?isFinite(n)?(Math.log((n+1)/n)+Math.log(n/(n-1)))/2:0:new t.Complex(n,0).acoth()},Complex:function(t){return t.acoth()},BigNumber:function(e){return new t.BigNumber(1).div(e).atanh()},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\coth^{-1}\\left(${args[0]}\\right)"},a}var i=n(764);e.name="acoth",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("acsc",{number:function(n){return n<=-1||n>=1||e.predictable?Math.asin(1/n):new t.Complex(n,0).acsc()},Complex:function(t){return t.acsc()},BigNumber:function(e){return new t.BigNumber(1).div(e).asin()},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\csc^{-1}\\left(${args[0]}\\right)"},a}var i=n(764);e.name="acsc",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("acsch",{number:function(t){return t=1/t,Math.log(t+Math.sqrt(t*t+1))},Complex:function(t){return t.acsch()},BigNumber:function(e){return new t.BigNumber(1).div(e).asinh()},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\mathrm{csch}^{-1}\\left(${args[0]}\\right)"},a}var i=n(764);e.name="acsch",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("asec",{number:function(n){return n<=-1||n>=1||e.predictable?Math.acos(1/n):new t.Complex(n,0).asec()},Complex:function(t){return t.asec()},BigNumber:function(e){return new t.BigNumber(1).div(e).acos()},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\sec^{-1}\\left(${args[0]}\\right)"},a}var i=n(764);e.name="asec",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,a){var o=(a.find(r(n(1205)),["Complex"]),a("asech",{number:function(n){if(n<=1&&n>=-1||e.predictable){n=1/n;var r=Math.sqrt(n*n-1);return n>0||e.predictable?Math.log(r+n):new t.Complex(Math.log(r-n),Math.PI)}return new t.Complex(n,0).asech()},Complex:function(t){return t.asech()},BigNumber:function(e){return new t.BigNumber(1).div(e).acosh()},"Array | Matrix":function(t){return i(t,o)}}));return o.toTex={1:"\\mathrm{sech}^{-1}\\left(${args[0]}\\right)"},o}var i=n(764);e.name="asech",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("asin",{number:function(n){return n>=-1&&n<=1||e.predictable?Math.asin(n):new t.Complex(n,0).asin()},Complex:function(t){return t.asin()},BigNumber:function(t){return t.asin()},"Array | Matrix":function(t){return i(t,a,!0)}});return a.toTex={1:"\\sin^{-1}\\left(${args[0]}\\right)"},a}var i=n(764);e.name="asin",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("asinh",{number:Math.asinh||function(t){return Math.log(Math.sqrt(t*t+1)+t)},Complex:function(t){return t.asinh()},BigNumber:function(t){return t.asinh()},"Array | Matrix":function(t){return i(t,a,!0)}});return a.toTex={1:"\\sinh^{-1}\\left(${args[0]}\\right)"},a}var i=n(764);e.name="asinh",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("atan",{number:function(t){return Math.atan(t)},Complex:function(t){return t.atan()},BigNumber:function(t){return t.atan()},"Array | Matrix":function(t){return i(t,a,!0)}});return a.toTex={1:"\\tan^{-1}\\left(${args[0]}\\right)"},a}var i=n(764);e.name="atan",e.factory=r},function(t,e,n){"use strict";function r(t,e,r,i){var a=r(n(796)),o=r(n(1104)),s=r(n(805)),u=r(n(1106)),c=r(n(829)),l=r(n(807)),f=r(n(801)),h=r(n(802)),d=i("atan2",{"number, number":Math.atan2,"BigNumber, BigNumber":function(e,n){return t.BigNumber.atan2(e,n)},"Matrix, Matrix":function(t,e){var n;switch(t.storage()){case"sparse":switch(e.storage()){case"sparse":n=u(t,e,d,!1);break;default:n=o(e,t,d,!0)}break;default:switch(e.storage()){case"sparse":n=s(t,e,d,!1);break;default:n=f(t,e,d)}}return n},"Array, Array":function(t,e){return d(a(t),a(e)).valueOf()},"Array, Matrix":function(t,e){return d(a(t),e)},"Matrix, Array":function(t,e){return d(t,a(e))},"Matrix, number | BigNumber":function(t,e){var n;switch(t.storage()){case"sparse":n=c(t,e,d,!1);break;default:n=h(t,e,d,!1)}return n},"number | BigNumber, Matrix":function(t,e){var n;switch(e.storage()){case"sparse":n=l(e,t,d,!0);break;default:n=h(e,t,d,!0)}return n},"Array, number | BigNumber":function(t,e){return h(a(t),e,d,!1).valueOf()},"number | BigNumber, Array":function(t,e){return h(a(e),t,d,!0).valueOf()}});return d.toTex={2:"\\mathrm{atan2}\\left(${args}\\right)"},d}e.name="atan2",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var o=r("atanh",{number:function(n){return n<=1&&n>=-1||e.predictable?a(n):new t.Complex(n,0).atanh()},Complex:function(t){return t.atanh()},BigNumber:function(t){return t.atanh()},"Array | Matrix":function(t){return i(t,o,!0)}});return o.toTex={1:"\\tanh^{-1}\\left(${args[0]}\\right)"},o}var i=n(764),a=Math.atanh||function(t){return Math.log((1+t)/(1-t))/2};e.name="atanh",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("cos",{number:Math.cos,Complex:function(t){return t.cos()},BigNumber:function(t){return t.cos()},Unit:function(e){if(!e.hasBase(t.Unit.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cos is no angle");return a(e.value)},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\cos\\left(${args[0]}\\right)"},a}var i=n(764);e.name="cos",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var o=r("cosh",{number:a,Complex:function(t){return t.cosh()},BigNumber:function(t){return t.cosh()},Unit:function(e){if(!e.hasBase(t.Unit.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cosh is no angle");return o(e.value)},"Array | Matrix":function(t){return i(t,o)}});return o.toTex={1:"\\cosh\\left(${args[0]}\\right)"},o}var i=n(764),a=Math.cosh||function(t){return(Math.exp(t)+Math.exp(-t))/2};e.name="cosh",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("cot",{number:function(t){return 1/Math.tan(t)},Complex:function(t){return t.cot()},BigNumber:function(e){return new t.BigNumber(1).div(e.tan())},Unit:function(e){if(!e.hasBase(t.Unit.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cot is no angle");return a(e.value)},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\cot\\left(${args[0]}\\right)"},a}var i=n(764);e.name="cot",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var o=r("coth",{number:i,Complex:function(t){return t.coth()},BigNumber:function(e){return new t.BigNumber(1).div(e.tanh())},Unit:function(e){if(!e.hasBase(t.Unit.BASE_UNITS.ANGLE))throw new TypeError("Unit in function coth is no angle");return o(e.value)},"Array | Matrix":function(t){return a(t,o)}});return o.toTex={1:"\\coth\\left(${args[0]}\\right)"},o}function i(t){var e=Math.exp(2*t);return(e+1)/(e-1)}var a=n(764);e.name="coth",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("csc",{number:function(t){return 1/Math.sin(t)},Complex:function(t){return t.csc()},BigNumber:function(e){return new t.BigNumber(1).div(e.sin())},Unit:function(e){if(!e.hasBase(t.Unit.BASE_UNITS.ANGLE))throw new TypeError("Unit in function csc is no angle");return a(e.value)},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\csc\\left(${args[0]}\\right)"},a}var i=n(764);e.name="csc",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var o=r("csch",{number:i,Complex:function(t){return t.csch()},BigNumber:function(e){return new t.BigNumber(1).div(e.sinh())},Unit:function(e){if(!e.hasBase(t.Unit.BASE_UNITS.ANGLE))throw new TypeError("Unit in function csch is no angle");return o(e.value)},"Array | Matrix":function(t){return a(t,o)}});return o.toTex={1:"\\mathrm{csch}\\left(${args[0]}\\right)"},o}function i(t){return 0==t?Number.POSITIVE_INFINITY:Math.abs(2/(Math.exp(t)-Math.exp(-t)))*o(t)}var a=n(764),o=n(751).sign;e.name="csch",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("sec",{number:function(t){return 1/Math.cos(t)},Complex:function(t){return t.sec()},BigNumber:function(e){return new t.BigNumber(1).div(e.cos())},Unit:function(e){if(!e.hasBase(t.Unit.BASE_UNITS.ANGLE))throw new TypeError("Unit in function sec is no angle");return a(e.value)},"Array | Matrix":function(t){return i(t,a)}});return a.toTex={1:"\\sec\\left(${args[0]}\\right)"},a}var i=n(764);e.name="sec",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var o=r("sech",{number:i,Complex:function(t){return t.sech()},BigNumber:function(e){return new t.BigNumber(1).div(e.cosh())},Unit:function(e){if(!e.hasBase(t.Unit.BASE_UNITS.ANGLE))throw new TypeError("Unit in function sech is no angle");return o(e.value)},"Array | Matrix":function(t){return a(t,o)}});return o.toTex={1:"\\mathrm{sech}\\left(${args[0]}\\right)"},o}function i(t){return 2/(Math.exp(t)+Math.exp(-t))}var a=n(764);e.name="sech",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("sin",{number:Math.sin,Complex:function(t){return t.sin()},BigNumber:function(t){return t.sin()},Unit:function(e){if(!e.hasBase(t.Unit.BASE_UNITS.ANGLE))throw new TypeError("Unit in function sin is no angle");return a(e.value)},"Array | Matrix":function(t){return i(t,a,!0)}});return a.toTex={1:"\\sin\\left(${args[0]}\\right)"},a}var i=n(764);e.name="sin",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var o=r("sinh",{number:a,Complex:function(t){return t.sinh()},BigNumber:function(t){return t.sinh()},Unit:function(e){if(!e.hasBase(t.Unit.BASE_UNITS.ANGLE))throw new TypeError("Unit in function sinh is no angle");return o(e.value)},"Array | Matrix":function(t){return i(t,o,!0)}});return o.toTex={1:"\\sinh\\left(${args[0]}\\right)"},o}var i=n(764),a=Math.sinh||function(t){return(Math.exp(t)-Math.exp(-t))/2};e.name="sinh",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("tan",{number:Math.tan,Complex:function(t){return t.tan()},BigNumber:function(t){return t.tan()},Unit:function(e){if(!e.hasBase(t.Unit.BASE_UNITS.ANGLE))throw new TypeError("Unit in function tan is no angle");return a(e.value);
},"Array | Matrix":function(t){return i(t,a,!0)}});return a.toTex={1:"\\tan\\left(${args[0]}\\right)"},a}var i=n(764);e.name="tan",e.factory=r},function(t,e,n){"use strict";function r(t,e,n,r){var o=r("tanh",{number:a,Complex:function(t){return t.tanh()},BigNumber:function(t){return t.tanh()},Unit:function(e){if(!e.hasBase(t.Unit.BASE_UNITS.ANGLE))throw new TypeError("Unit in function tanh is no angle");return o(e.value)},"Array | Matrix":function(t){return i(t,o,!0)}});return o.toTex={1:"\\tanh\\left(${args[0]}\\right)"},o}var i=n(764),a=Math.tanh||function(t){var e=Math.exp(2*t);return(e-1)/(e+1)};e.name="tanh",e.factory=r},function(t,e,n){t.exports=[n(1230)]},function(t,e,n){"use strict";function r(t,e,r,i){var a=n(776),o=r(n(796)),s=r(n(801)),u=r(n(802)),c=i("to",{"Unit, Unit | string":function(t,e){return t.to(e)},"Matrix, Matrix":function(t,e){return s(t,e,c)},"Array, Array":function(t,e){return c(o(t),o(e)).valueOf()},"Array, Matrix":function(t,e){return c(o(t),e)},"Matrix, Array":function(t,e){return c(t,o(e))},"Matrix, any":function(t,e){return u(t,e,c,!1)},"any, Matrix":function(t,e){return u(e,t,c,!0)},"Array, any":function(t,e){return u(o(t),e,c,!1).valueOf()},"any, Array":function(t,e){return u(o(e),t,c,!0).valueOf()}});return c.toTex={2:"\\left(${args[0]}"+a.operators.to+"${args[1]}\\right)"},c}e.name="to",e.factory=r},function(t,e,n){t.exports=[n(1232),n(1152),n(1100),n(832),n(1114),n(1166),n(834)]},function(t,e,n){"use strict";function r(t,e,n,r){var a=r("clone",{any:i.clone});return a.toTex=void 0,a}var i=n(748);e.name="clone",e.factory=r},function(t,e,n){t.exports=[n(1234)]},function(t,e){"use strict";function n(t,e,n,r){return function(e,n){var r=t[n&&n.mathjs];return r&&"function"==typeof r.fromJSON?r.fromJSON(n):n}}e.name="reviver",e.path="json",e.factory=n},function(t,e,n){"use strict";var r=n(756),i=n(786),a=n(787);t.exports=[{name:"ArgumentsError",path:"error",factory:function(){return r}},{name:"DimensionError",path:"error",factory:function(){return i}},{name:"IndexError",path:"error",factory:function(){return a}}]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){return e.get("variants").find(function(e){return e.get("func")===t},null,null)}function a(t){return d.map(i.bind(null,t)).find(function(t){return null!==t},null,null)}function o(t,e){return d.find(function(e){return Boolean(i(t,e))},null,e)}function s(t){return d.find(function(e){return e.get("libname")===t},null,"")}Object.defineProperty(e,"__esModule",{value:!0}),e.predefinedFunctions=void 0,e.findVariantByFunction=a,e.findFamilyByFunction=o,e.findFamilyByFamilyName=s;var u=n(1237),c=r(u),l=n(1238),f=r(l),h=n(398),d=e.predefinedFunctions=(0,h.fromJS)([{libname:"Linear",variants:[{name:"Linear",func:"m*x + b",info:"",autoguess:function(t,e){return(0,f["default"])(t,e,["b","m"])}}]},{libname:"Quadratic",variants:[{name:"Quadratic",func:"a*x^2 + b*x + c",info:"",autoguess:function(t,e){return(0,f["default"])(t,e,["c","b","a"])}}]},{libname:"Polynomial",variants:[{name:"1st order",func:"a + b*x",info:"",autoguess:function(t,e){return(0,f["default"])(t,e,1)}},{name:"2nd order",func:"a + b*x + c*x^2",info:"",autoguess:function(t,e){return(0,f["default"])(t,e,2)}},{name:"3rd order",func:"a + b*x + c*x^2 + d*x^3",info:"",autoguess:function(t,e){return(0,f["default"])(t,e,3)}},{name:"4th order",func:"a + b*x + c*x^2 + d*x^3 + e*x^4",info:"",autoguess:function(t,e){return(0,f["default"])(t,e,4)}},{name:"5th order",func:"a + b*x + c*x^2 + d*x^3 + e*x^4 + f*x^5",info:"",autoguess:function(t,e){return(0,f["default"])(t,e,5)}},{name:"6th order",func:"a + b*x + c*x^2 + d*x^3 + e*x^4 + f*x^5 + g*x^6",info:"",autoguess:function(t,e){return(0,f["default"])(t,e,6)}}]},{libname:"Exponential",variants:[{name:"Exponential",func:"a + b*exp(c*x)",info:"",autoguess:c["default"].exponential}]},{libname:"Peak",variants:[{name:"Gaussian",func:"a + h*exp( -(x-x0)^2/(2*w^2) )",info:"",autoguess:c["default"].gauss},{name:"Gaussian FWHM",func:"a + h*exp( -4*log(2)*((x-x0)/FWHM)^2 )",info:"",autoguess:c["default"].peak},{name:"Cauchy-Lorentz",func:"a + h/(1 + 4*((x-x0)/FWHM)^2)",info:"",autoguess:c["default"].peak}]},{libname:"Inverse",variants:[{name:"y0 + a/x",func:"y0 + a/x",info:"",autoguess:c["default"].inverseSimple},{name:"y0 + a/(x-x0)",func:"y0 + a/(x-x0)",info:"",autoguess:c["default"].inverse}]},{libname:"Inverse squared",variants:[{name:"y0 + a/x2",func:"y0 + a/x^2",info:"",autoguess:c["default"].inverseSimple2},{name:"y0 + a/(x-x0)2",func:"y0 + a/(x-x0)^2",info:"",autoguess:c["default"].inverse2}]}])},function(t,e){"use strict";function n(t){return t[0]t[1]?t[0]:t[1]}function i(t,e,n){var r=n*t+(1-n)*e,i=n*e+(1-n)*t;return[r,i]}function a(t,e,n){return Math.abs(e-t)t?1:-1),console.log("Moving a y value so the guesses are unequal",e)),e}function o(t){for(var e=0,n=0;n=v&&(g=_,v=x);var b=o(e.slice(0,_))/_,M=o(e.slice(x))/(l-x),w=x>_?o(e.slice(g,v))/(v-g):.3*b+.7*M;s||(s={});var L=i(b,M,.02);if(s.nostraight){var T=i(b,M,.45);w>n(T)&&w=r(L))&&(w=c(w,n(L),r(L)),console.log("moving y2 within bounds to",w)),s.unequal){var E=.02*(r(L)-n(L));w=a(b,w,E),w=a(M,w,E),M=a(b,M,E)}var k=1e-5;return Math.abs(L[0]-L[1])1?t.length-1:0],d=0;dv?u/(s-v):null,g.push(l),v=s,null!==l){for(c=g.length-1,s=f;s.75*S+.25*E?(n=S,r=E-S,b=g.indexOf(E)):(n=E,r=S-E,b=g.indexOf(S)),L=n+r/2,o=b;o>=0;o--){if(r>0?g[o]L){M=_[0]+y*(o+(n+r/2-g[o])/(g[o+1]-g[o]));break}0===o&&(M=_[0],N=!0)}for(o=b;o0?g[o]L){w=_[0]+y*(o-(n+r/2-g[o])/(g[o-1]-g[o]));break}o===g.length-1&&(w=_[g.length-1],N=!0)}i=(M+w)/2;var Y=w-M,D=g.length*x*y;return N&&(D/=2),a=Math.max(2*y,Y/5,Math.sqrt(Y*Y-D*D)||0),r*=Y/a,{params:{a:n,h:r,x0:i,FWHM:a},err:d}},e.gauss=function(t,n){var r=e.peak(t,n);return r.params.w=r.params.FWHM/Math.sqrt(8*Math.log(2)),delete r.params.FWHM,r}},function(t,e){"use strict";t.exports=function(t,e,n){function r(t,e){this.x=t,this.y=e}function i(t,e,n,r){for(var i=n+1;i1&&(ft=y[0]>y[1]),nt=nt.filter(g["default"]).sort(function(t,e){return t-e});var ht=l.findInsertionIndex(nt,at),dt=l.findInsertionIndex(nt,ot);nt=nt.slice(ht,dt+1),ft&&nt.reverse()}var pt=Z.map(function(t){return t.value}),mt=void 0;mt=W?nt.map(function(t){return(0,g["default"])(t)?tt((t-nt[0])/k,pt):M.BADNUM}):nt.map(function(t){return(0,g["default"])(t)?tt(t,pt):M.BADNUM}),nt=nt.map(_.c2d),n.rms=et.rms,n.correlation=l.computeCorrelation(C,et.fit);var yt=Math.round(nt.length/2);n.xmid=_.d2l(nt[yt]),n.ymid=_.d2l(mt[yt]);var _t,gt=c({},i),vt=this.Plotly.Lib.coerce.bind(this.Plotly.Lib,i,gt);return u(f.marker)?_t=f.marker.color:u(f.line)&&(_t=f.line.color),vt(E,"type","scatter"),vt(E,"name","Fit of "+f.name),vt(E,"opacity",.5),vt(T,"mode","lines"),Array.isArray(_t)||vt(T,"line.color",_t),vt(T,"line.width",4),gt[n.regressor]=nt,gt[n.regressand]=mt,gt.transforms=r.transforms,[gt]}}]),t}()},function(t,e,n){"use strict";function r(t,e){return Math.max(t,e)}function i(t,e){return Math.min(t,e)}function a(t){return Math.abs(t)}function o(t){return Math.sqrt(t)}function s(t){return Math.log(t)}function u(t){return Math.sin(t)}function c(t){return Math.cos(t)}function l(t){return Math.atan(t)}function f(t,e,n,r){for(var i=1,a=i,o=e;o<=n;)i*=t*o/(o-r),a+=i,o+=2;return a}function h(t,e){t=a(t);var n=t/o(e),r=l(n);if(1===e)return 1-r/b;var i=u(r),s=c(r);return e%2===1?1-(r+i*s*f(s*s,2,e-3,-1))/b:1-i*f(s*s,1,e-3,-1)}function d(t,e){for(var n,r=.5,i=.25;i>1e-15;)n=1/r-1,r+=t(n)>e?-i:i,i/=2;return n}function p(t,e){return d(function(t){return h(t,e)},t)}function m(t){var e;return a(t)<5e-5&&(t=0),e=" "+(t+(t>0?5e-5:-5e-5)),e=e.substring(0,e.indexOf(".")+5),e.substring(e.length-10,e.length)}function y(t){var e;return a(t)<5e-7&&(t=0),e=" "+(t+(t>0?5e-7:-5e-7)),e=e.substring(0,e.indexOf(".")+7),e.substring(e.length-18,e.length)}function _(t,e,n){return t*(n+1)+e}function g(t,e,n,a){return"number"!=typeof t?a:r(e,i(n,t))}var v=n(554),x=Math.PI,b=x/2;t.exports=function(t){function e(t){function e(t){for(E=0;EG){for(;K>.01&&tt>=G;)K/=2,e(K),Q=tt,tt=n(c);tttt&&(e(K),et=tt),console.log("took a smaller step than originally calculated",K)):(console.log("Oops - didnt find a lower RMS anywhere on the old to new parameter vector - stopping"),et=G,c=Z)}var nt;for(k=0;k=100,m.symbolFuncs[i](e)+(r>=200?g:"")}).style("opacity",function(t){return(t.mo+1||a.opacity+1)-1})}var l,f,h;t.so?(h=o.outlierwidth,f=o.outliercolor,l=a.outliercolor):(h=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,f="mlc"in t?t.mlcc=i(t.mlc):Array.isArray(o.color)?u.defaultLine:o.color,l="mc"in t?t.mcc=r(t.mc):Array.isArray(a.color)?u.defaultLine:a.color||"rgba(0,0,0,0)"),t.om?e.call(u.stroke,l).style({"stroke-width":(h||1)+"px",fill:"none"}):(e.style("stroke-width",h+"px").call(u.fill,l),h&&e.call(u.stroke,f))}function i(t,e,n,r){var i=t[0]-e[0],o=t[1]-e[1],s=n[0]-e[0],u=n[1]-e[1],c=Math.pow(i*i+o*o,b/2),l=Math.pow(s*s+u*u,b/2),f=(l*l*i-c*c*s)*r,h=(l*l*o-c*c*u)*r,d=3*l*(c+l),p=3*c*(c+l);return[[a.round(e[0]+(d&&f/d),2),a.round(e[1]+(d&&h/d),2)],[a.round(e[0]-(p&&f/p),2),a.round(e[1]-(p&&h/p),2)]]}var a=n(2108),o=n(2109),s=n(2110),u=n(2128),c=n(2130),l=n(2111),f=n(2145),h=n(2146),d=n(2148),p=n(2149),m=t.exports={};m.font=function(t,e,n,r){e&&e.family&&(r=e.color,n=e.size,e=e.family),e&&t.style("font-family",e),n+1&&t.style("font-size",n+"px"),r&&t.call(u.fill,r)},m.setPosition=function(t,e,n){t.attr("x",e).attr("y",n)},m.setSize=function(t,e,n){t.attr("width",e).attr("height",n)},m.setRect=function(t,e,n,r,i){t.call(m.setPosition,e,n).call(m.setSize,r,i)},m.translatePoint=function(t,e,n,r){var i=t.xp||n.c2p(t.x),a=t.yp||r.c2p(t.y);o(i)&&o(a)?"text"===e.node().nodeName?e.attr("x",i).attr("y",a):e.attr("transform","translate("+i+","+a+")"):e.remove()},m.translatePoints=function(t,e,n,r){t.each(function(t){var i=a.select(this);m.translatePoint(t,i,e,n,r)})},m.getPx=function(t,e){return Number(t.style(e).replace(/px$/,""))},m.crispRound=function(t,e,n){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):n||0},m.singleLineStyle=function(t,e,n,r,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=n||a.width||0,s=i||a.dash||"";u.stroke(e,r||a.color),m.dashLine(e,s,o)},m.lineGroupStyle=function(t,e,n,r){t.style("fill","none").each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},o=e||i.width||0,s=r||i.dash||"";a.select(this).call(u.stroke,n||i.color).call(m.dashLine,s,o)})},m.dashLine=function(t,e,n){var r=Math.max(n,3);"solid"===e?e="":"dot"===e?e=r+"px,"+r+"px":"dash"===e?e=3*r+"px,"+3*r+"px":"longdash"===e?e=5*r+"px,"+5*r+"px":"dashdot"===e?e=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===e&&(e=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t.style({"stroke-dasharray":e,"stroke-width":n+"px"})},m.fillGroupStyle=function(t){t.style("stroke-width",0).each(function(e){var n=a.select(this);try{n.call(u.fill,e[0].trace.fillcolor)}catch(r){l.error(r,t),n.remove()}})};var y=n(2150);m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolList=[],Object.keys(y).forEach(function(t){var e=y[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+"-open"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+"-dot",e.n+300,t+"-open-dot"])});var _=m.symbolNames.length,g="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";m.symbolNumber=function(t){if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),t=m.symbolNames.indexOf(t),t>=0&&(t+=e)}return t%100>=_||t>=400?0:Math.floor(Math.max(t,0))},m.singlePointStyle=function(t,e,n){var i=n.marker,a=i.line,o=(n._input||{}).marker||{},s=m.tryColorscale(i,o,""),u=m.tryColorscale(i,o,"line.");r(t,e,n,s,u,i,a)},m.pointStyle=function(t,e){if(t.size()){var n=e.marker,r=(e._input||{}).marker||{},i=m.tryColorscale(n,r,""),o=m.tryColorscale(n,r,"line.");t.each(function(t){m.singlePointStyle(t,a.select(this),e,i,o)})}},m.tryColorscale=function(t,e,n){var r=l.nestedProperty(t,n+"color").get(),i=l.nestedProperty(t,n+"colorscale").get(),a=l.nestedProperty(t,n+"cauto").get(),s=l.nestedProperty(t,n+"cmin"),u=l.nestedProperty(t,n+"cmax"),f=s.get(),h=u.get();return i&&Array.isArray(r)?(!a&&o(f)&&o(h)||(f=1/0,h=-(1/0),r.forEach(function(t){o(t)&&(f>t&&(f=+t),hh&&(f=0,h=1),s.set(f),u.set(h),l.nestedProperty(e,n+"cmin").set(f),l.nestedProperty(e,n+"cmax").set(h)),c.makeScaleFunction(i,f,h)):l.identity};var v={start:1,end:-1,middle:0,bottom:1,top:-1},x=1.3;m.textPointStyle=function(t,e){t.each(function(t){var n=a.select(this),r=t.tx||e.text;if(!r||Array.isArray(r))return void n.remove();var i=t.tp||e.textposition,s=i.indexOf("top")!==-1?"top":i.indexOf("bottom")!==-1?"bottom":"middle",u=i.indexOf("left")!==-1?"end":i.indexOf("right")!==-1?"start":"middle",c=t.ts||e.textfont.size,l=t.mrc?t.mrc/.8+1:0;c=o(c)&&c>0?c:0,n.call(m.font,t.tf||e.textfont.family,c,t.tc||e.textfont.color).attr("text-anchor",u).text(r).call(f.convertToTspans);var h=a.select(this.parentNode),d=n.selectAll("tspan.line"),p=((d[0].length||1)-1)*x+1,y=v[u]*l,_=.75*c+v[s]*l+(v[s]-1)*p*c/2;h.attr("transform","translate("+y+","+_+")"),p>1&&d.attr({x:n.attr("x"),y:n.attr("y")})})};var b=.5;m.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var n,r="M"+t[0],a=[];for(n=1;n=T&&(a.selectAll("[data-bb]").attr("data-bb",null),L=[]),t.setAttribute("data-bb",L.length),L.push(u),l.extendFlat({},u)},m.setClipUrl=function(t,e){if(!e)return void t.attr("clip-path",null);var n="#"+e,r=a.select("base");r.size()&&r.attr("href")&&(n=window.location.href+n),t.attr("clip-path","url("+n+")")}},function(t,e,n){var r,i;!function(){function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function s(t,e){return te?1:t>=e?0:NaN}function u(t){return null===t?NaN:+t}function c(t){return!isNaN(t)}function l(t){return{left:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);r>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);r>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}function f(t){return t.length}function h(t){for(var e=1;t*e%1;)e*=10;return e}function d(t,e){for(var n in e)Object.defineProperty(t.prototype,n,{value:e[n],enumerable:!1})}function p(){this._=Object.create(null)}function m(t){return(t+="")===Eo||t[0]===ko?ko+t:t}function y(t){return(t+="")[0]===ko?t.slice(1):t}function _(t){return m(t)in this._}function g(t){return(t=m(t))in this._&&delete this._[t]}function v(){var t=[];for(var e in this._)t.push(y(e));return t}function x(){var t=0;for(var e in this._)++t;return t}function b(){for(var t in this._)return!1;return!0}function M(){this._=Object.create(null)}function w(t){return t}function L(t,e,n){return function(){var r=n.apply(e,arguments);return r===e?t:r}}function T(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var n=0,r=So.length;n=e&&(e=i+1);!(o=s[e])&&++e0&&(t=t.slice(0,s));var c=Ro.get(t);return c&&(t=c,u=Q),s?e?i:r:e?E:a}function K(t,e){return function(n){var r=ho.event;ho.event=n,e[0]=this.__data__;try{t.apply(this,e)}finally{ho.event=r}}}function Q(t,e){var n=K(t,e);return function(t){var e=this,r=t.relatedTarget;r&&(r===e||8&r.compareDocumentPosition(e))||n.call(e,t)}}function tt(t){var e=".dragsuppress-"+ ++Ho,n="click"+e,r=ho.select(o(t)).on("touchmove"+e,N).on("dragstart"+e,N).on("selectstart"+e,N);if(null==zo&&(zo=!("onselectstart"in t)&&T(t.style,"userSelect")),zo){var i=a(t).style,s=i[zo];i[zo]="none"}return function(t){if(r.on(e,null),zo&&(i[zo]=s),t){var a=function(){r.on(n,null)};r.on(n,function(){N(),a()},!0),setTimeout(a,0)}}}function et(t,e){e.changedTouches&&(e=e.changedTouches[0]);var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();if(Fo<0){var i=o(t);if(i.scrollX||i.scrollY){n=ho.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var a=n[0][0].getScreenCTM();Fo=!(a.f||a.e),n.remove()}}return Fo?(r.x=e.pageX,r.y=e.pageY):(r.x=e.clientX,r.y=e.clientY),r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}function nt(){return ho.event.changedTouches[0].identifier}function rt(t){return t>0?1:t<0?-1:0}function it(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function at(t){return t>1?0:t<-1?Bo:Math.acos(t)}function ot(t){return t>1?Vo:t<-1?-Vo:Math.asin(t)}function st(t){return((t=Math.exp(t))-1/t)/2}function ut(t){return((t=Math.exp(t))+1/t)/2}function ct(t){return((t=Math.exp(2*t))-1)/(t+1)}function lt(t){return(t=Math.sin(t/2))*t}function ft(){}function ht(t,e,n){return this instanceof ht?(this.h=+t,this.s=+e,void(this.l=+n)):arguments.length<2?t instanceof ht?new ht(t.h,t.s,t.l):Et(""+t,kt,ht):new ht(t,e,n)}function dt(t,e,n){function r(t){return t>360?t-=360:t<0&&(t+=360),t<60?a+(o-a)*t/60:t<180?o:t<240?a+(o-a)*(240-t)/60:a}function i(t){return Math.round(255*r(t))}var a,o;return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=n<0?0:n>1?1:n,o=n<=.5?n*(1+e):n+e-n*e,a=2*n-o,new Mt(i(t+120),i(t),i(t-120))}function pt(t,e,n){return this instanceof pt?(this.h=+t,this.c=+e,void(this.l=+n)):arguments.length<2?t instanceof pt?new pt(t.h,t.c,t.l):t instanceof yt?gt(t.l,t.a,t.b):gt((t=St((t=ho.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new pt(t,e,n)}function mt(t,e,n){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new yt(n,Math.cos(t*=Jo)*e,Math.sin(t)*e)}function yt(t,e,n){return this instanceof yt?(this.l=+t,this.a=+e,void(this.b=+n)):arguments.length<2?t instanceof yt?new yt(t.l,t.a,t.b):t instanceof pt?mt(t.h,t.c,t.l):St((t=Mt(t)).r,t.g,t.b):new yt(t,e,n)}function _t(t,e,n){var r=(t+16)/116,i=r+e/500,a=r-n/200;return i=vt(i)*as,r=vt(r)*os,a=vt(a)*ss,new Mt(bt(3.2404542*i-1.5371385*r-.4985314*a),bt(-.969266*i+1.8760108*r+.041556*a),bt(.0556434*i-.2040259*r+1.0572252*a))}function gt(t,e,n){return t>0?new pt(Math.atan2(n,e)*$o,Math.sqrt(e*e+n*n),t):new pt(NaN,NaN,t)}function vt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function xt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function bt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function Mt(t,e,n){return this instanceof Mt?(this.r=~~t,this.g=~~e,void(this.b=~~n)):arguments.length<2?t instanceof Mt?new Mt(t.r,t.g,t.b):Et(""+t,Mt,dt):new Mt(t,e,n)}function wt(t){return new Mt(t>>16,t>>8&255,255&t)}function Lt(t){return wt(t)+""}function Tt(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function Et(t,e,n){var r,i,a,o=0,s=0,u=0;if(r=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return n(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(Yt(i[0]),Yt(i[1]),Yt(i[2]))}return(a=ls.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o=o>>4|o,s=240&a,s=s>>4|s,u=15&a,u=u<<4|u):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,u=255&a)),e(o,s,u))}function kt(t,e,n){var r,i,a=Math.min(t/=255,e/=255,n/=255),o=Math.max(t,e,n),s=o-a,u=(o+a)/2;return s?(i=u<.5?s/(o+a):s/(2-o-a),r=t==o?(e-n)/s+(e0&&u<1?0:r),new ht(r,i,u)}function St(t,e,n){t=Nt(t),e=Nt(e),n=Nt(n);var r=xt((.4124564*t+.3575761*e+.1804375*n)/as),i=xt((.2126729*t+.7151522*e+.072175*n)/os),a=xt((.0193339*t+.119192*e+.9503041*n)/ss);return yt(116*i-16,500*(r-i),200*(i-a))}function Nt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Yt(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}function Dt(t){return"function"==typeof t?t:function(){return t}}function At(t){return function(e,n,r){return 2===arguments.length&&"function"==typeof n&&(r=n,n=null),Ot(e,n,t,r)}}function Ot(t,e,n,r){function i(){var t,e=u.status;if(!e&&Ct(u)||e>=200&&e<300||304===e){try{t=n.call(a,u)}catch(r){return void o.error.call(a,r)}o.load.call(a,t)}else o.error.call(a,u)}var a={},o=ho.dispatch("beforesend","progress","load","error"),s={},u=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in u||!/^(http(s)?:)?\/\//.test(t)||(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=i:u.onreadystatechange=function(){u.readyState>3&&i()},u.onprogress=function(t){var e=ho.event;ho.event=t;try{o.progress.call(a,u)}finally{ho.event=e}},a.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?s[t]:(null==e?delete s[t]:s[t]=e+"",a)},a.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",a):e},a.responseType=function(t){return arguments.length?(c=t,a):c},a.response=function(t){return n=t,a},["get","post"].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(mo(arguments)))}}),a.send=function(n,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),u.open(n,t,!0),null==e||"accept"in s||(s.accept=e+",*/*"),u.setRequestHeader)for(var l in s)u.setRequestHeader(l,s[l]);return null!=e&&u.overrideMimeType&&u.overrideMimeType(e),null!=c&&(u.responseType=c),null!=i&&a.on("error",i).on("load",function(t){i(null,t)}),o.beforesend.call(a,u),u.send(null==r?null:r),a},a.abort=function(){return u.abort(),a},ho.rebind(a,o,"on"),null==r?a:a.get(jt(r))}function jt(t){return 1===t.length?function(e,n){t(null==e?n:null)}:t}function Ct(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function Pt(t,e,n){var r=arguments.length;r<2&&(e=0),r<3&&(n=Date.now());var i=n+e,a={c:t,t:i,n:null};return hs?hs.n=a:fs=a,hs=a,ds||(ps=clearTimeout(ps),ds=1,ms(It)),a}function It(){var t=Rt(),e=zt()-t;e>24?(isFinite(e)&&(clearTimeout(ps),ps=setTimeout(It,e)),ds=0):(ds=1,ms(It))}function Rt(){for(var t=Date.now(),e=fs;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function zt(){for(var t,e=fs,n=1/0;e;)e.c?(e.t8?function(t){return t/n}:function(t){return t*n},symbol:t}}function Ut(t){var e=t.decimal,n=t.thousands,r=t.grouping,i=t.currency,a=r&&n?function(t,e){for(var i=t.length,a=[],o=0,s=r[0],u=0;i>0&&s>0&&(u+s+1>e&&(s=Math.max(1,e-u)),a.push(t.substring(i-=s,i+s)),!((u+=s+1)>e));)s=r[o=(o+1)%r.length];return a.reverse().join(n)}:w;return function(t){var n=_s.exec(t),r=n[1]||" ",o=n[2]||">",s=n[3]||"-",u=n[4]||"",c=n[5],l=+n[6],f=n[7],h=n[8],d=n[9],p=1,m="",y="",_=!1,g=!0;switch(h&&(h=+h.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),d){case"n":f=!0,d="g";break;case"%":p=100,y="%",d="f";break;case"p":p=100,y="%",d="r";break;case"b":case"o":case"x":case"X":"#"===u&&(m="0"+d.toLowerCase());case"c":g=!1;case"d":_=!0,h=0;break;case"s":p=-1,d="r"}"$"===u&&(m=i[0],y=i[1]),"r"!=d||h||(d="g"),null!=h&&("g"==d?h=Math.max(1,Math.min(21,h)):"e"!=d&&"f"!=d||(h=Math.max(0,Math.min(20,h)))),d=gs.get(d)||qt;var v=c&&f;return function(t){var n=y;if(_&&t%1)return"";var i=t<0||0===t&&1/t<0?(t=-t,"-"):"-"===s?"":s;if(p<0){var u=ho.formatPrefix(t,h);t=u.scale(t),n=u.symbol+y}else t*=p;t=d(t,h);var x,b,M=t.lastIndexOf(".");if(M<0){var w=g?t.lastIndexOf("e"):-1;w<0?(x=t,b=""):(x=t.substring(0,w),b=t.substring(w))}else x=t.substring(0,M),b=e+t.substring(M+1);!c&&f&&(x=a(x,1/0));var L=m.length+x.length+b.length+(v?0:i.length),T=L"===o?T+i+t:"^"===o?T.substring(0,L>>=1)+i+t+T.substring(L):i+(v?t:T+t))+n}}}function qt(t){return t+""}function Bt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Wt(t,e,n){function r(e){var n=t(e),r=a(n,1);return e-n1)for(;o=c)return-1;if(i=e.charCodeAt(s++),37===i){if(o=e.charAt(s++),a=N[o in Ms?e.charAt(s++):o],!a||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}function r(t,e,n){M.lastIndex=0;var r=M.exec(e.slice(n));return r?(t.w=w.get(r[0].toLowerCase()),n+r[0].length):-1}function i(t,e,n){x.lastIndex=0;var r=x.exec(e.slice(n));return r?(t.w=b.get(r[0].toLowerCase()),n+r[0].length):-1}function a(t,e,n){E.lastIndex=0;var r=E.exec(e.slice(n));return r?(t.m=k.get(r[0].toLowerCase()),n+r[0].length):-1}function o(t,e,n){L.lastIndex=0;var r=L.exec(e.slice(n));return r?(t.m=T.get(r[0].toLowerCase()),n+r[0].length):-1}function s(t,e,r){return n(t,S.c.toString(),e,r)}function u(t,e,r){return n(t,S.x.toString(),e,r)}function c(t,e,r){return n(t,S.X.toString(),e,r)}function l(t,e,n){var r=v.get(e.slice(n,n+=2).toLowerCase());return null==r?-1:(t.p=r,n)}var f=t.dateTime,h=t.date,d=t.time,p=t.periods,m=t.days,y=t.shortDays,_=t.months,g=t.shortMonths;e.utc=function(t){function n(t){try{xs=Bt;var e=new xs;return e._=t,r(e)}finally{xs=Date}}var r=e(t);return n.parse=function(t){try{xs=Bt;var e=r.parse(t);return e&&e._}finally{xs=Date}},n.toString=r.toString,n},e.multi=e.utc.multi=de;var v=ho.map(),x=$t(m),b=Zt(m),M=$t(y),w=Zt(y),L=$t(_),T=Zt(_),E=$t(g),k=Zt(g);p.forEach(function(t,e){v.set(t.toLowerCase(),e)});var S={a:function(t){return y[t.getDay()]},A:function(t){return m[t.getDay()]},b:function(t){return g[t.getMonth()]},B:function(t){return _[t.getMonth()]},c:e(f),d:function(t,e){return Jt(t.getDate(),e,2)},e:function(t,e){return Jt(t.getDate(),e,2)},H:function(t,e){return Jt(t.getHours(),e,2)},I:function(t,e){return Jt(t.getHours()%12||12,e,2)},j:function(t,e){return Jt(1+vs.dayOfYear(t),e,3)},L:function(t,e){return Jt(t.getMilliseconds(),e,3)},m:function(t,e){return Jt(t.getMonth()+1,e,2)},M:function(t,e){return Jt(t.getMinutes(),e,2)},p:function(t){return p[+(t.getHours()>=12)]},S:function(t,e){return Jt(t.getSeconds(),e,2)},U:function(t,e){return Jt(vs.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Jt(vs.mondayOfYear(t),e,2)},x:e(h),X:e(d),y:function(t,e){return Jt(t.getFullYear()%100,e,2)},Y:function(t,e){return Jt(t.getFullYear()%1e4,e,4)},Z:fe,"%":function(){return"%"}},N={a:r,A:i,b:a,B:o,c:s,d:ae,e:ae,H:se,I:se,j:oe,L:le,m:ie,M:ue,p:l,S:ce,U:Kt,w:Xt,W:Qt,x:u,X:c,y:ee,Y:te,Z:ne,"%":he};return e}function Jt(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a68?1900:2e3)}function ie(t,e,n){ws.lastIndex=0;var r=ws.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function ae(t,e,n){ws.lastIndex=0;var r=ws.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function oe(t,e,n){ws.lastIndex=0;var r=ws.exec(e.slice(n,n+3));return r?(t.j=+r[0],n+r[0].length):-1}function se(t,e,n){ws.lastIndex=0;var r=ws.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function ue(t,e,n){ws.lastIndex=0;var r=ws.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function ce(t,e,n){ws.lastIndex=0;var r=ws.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function le(t,e,n){ws.lastIndex=0;var r=ws.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function fe(t){var e=t.getTimezoneOffset(),n=e>0?"-":"+",r=To(e)/60|0,i=To(e)%60;return n+Jt(r,"0",2)+Jt(i,"0",2)}function he(t,e,n){Ls.lastIndex=0;var r=Ls.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function de(t){for(var e=t.length,n=-1;++n=0?1:-1,s=o*n,u=Math.cos(e),c=Math.sin(e),l=a*c,f=i*u+l*Math.cos(s),h=l*o*Math.sin(s);Ys.add(Math.atan2(h,f)),r=t,i=u,
a=c}var e,n,r,i,a;Ds.point=function(o,s){Ds.point=t,r=(e=o)*Jo,i=Math.cos(s=(n=s)*Jo/2+Bo/4),a=Math.sin(s)},Ds.lineEnd=function(){t(e,n)}}function xe(t){var e=t[0],n=t[1],r=Math.cos(n);return[r*Math.cos(e),r*Math.sin(e),Math.sin(n)]}function be(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Me(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function we(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Le(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Te(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Ee(t){return[Math.atan2(t[1],t[0]),ot(t[2])]}function ke(t,e){return To(t[0]-e[0])=0;--s)i.point((f=l[s])[0],f[1])}else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,l=d.z,p=!p}while(!d.v);i.lineEnd()}}}function Pe(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r0){for(b||(a.polygonStart(),b=!0),a.lineStart();++o1&&2&e&&n.push(n.pop().concat(n.shift())),d.push(n.filter(ze))}var d,p,m,y=e(a),_=i.invert(r[0],r[1]),g={point:o,lineStart:u,lineEnd:c,polygonStart:function(){g.point=l,g.lineStart=f,g.lineEnd=h,d=[],p=[]},polygonEnd:function(){g.point=o,g.lineStart=u,g.lineEnd=c,d=ho.merge(d);var t=We(_,p);d.length?(b||(a.polygonStart(),b=!0),Ce(d,Fe,t,n,a)):t&&(b||(a.polygonStart(),b=!0),a.lineStart(),n(null,null,1,a),a.lineEnd()),b&&(a.polygonEnd(),b=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),n(null,null,1,a),a.lineEnd(),a.polygonEnd()}},v=He(),x=e(v),b=!1;return g}}function ze(t){return t.length>1}function He(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,n){t.push([e,n])},lineEnd:E,buffer:function(){var n=e;return e=[],t=null,n},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function Fe(t,e){return((t=t.x)[0]<0?t[1]-Vo-Uo:Vo-t[1])-((e=e.x)[0]<0?e[1]-Vo-Uo:Vo-e[1])}function Ue(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?Bo:-Bo,u=To(a-n);To(u-Bo)0?Vo:-Vo),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(a,r),e=0):i!==s&&u>=Bo&&(To(n-i)Uo?Math.atan((Math.sin(e)*(a=Math.cos(r))*Math.sin(n)-Math.sin(r)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+r)/2}function Be(t,e,n,r){var i;if(null==t)i=n*Vo,r.point(-Bo,i),r.point(0,i),r.point(Bo,i),r.point(Bo,0),r.point(Bo,-i),r.point(0,-i),r.point(-Bo,-i),r.point(-Bo,0),r.point(-Bo,i);else if(To(t[0]-e[0])>Uo){var a=t[0]=0?1:-1,w=M*b,L=w>Bo,T=p*v;if(Ys.add(Math.atan2(T*M*Math.sin(w),m*x+T*Math.cos(w))),a+=L?b+M*Wo:b,L^h>=n^_>=n){var E=Me(xe(f),xe(t));Te(E);var k=Me(i,E);Te(k);var S=(L^b>=0?-1:1)*ot(k[2]);(r>S||r===S&&(E[0]||E[1]))&&(o+=L^b>=0?1:-1)}if(!y++)break;h=_,p=v,m=x,f=t}}return(a<-Uo||aa}function n(t){var n,a,u,c,l;return{lineStart:function(){c=u=!1,l=1},point:function(f,h){var d,p=[f,h],m=e(f,h),y=o?m?0:i(f,h):m?i(f+(f<0?Bo:-Bo),h):0;if(!n&&(c=u=m)&&t.lineStart(),m!==u&&(d=r(n,p),(ke(n,d)||ke(p,d))&&(p[0]+=Uo,p[1]+=Uo,m=e(p[0],p[1]))),m!==u)l=0,m?(t.lineStart(),d=r(p,n),t.point(d[0],d[1])):(d=r(n,p),t.point(d[0],d[1]),t.lineEnd()),n=d;else if(s&&n&&o^m){var _;y&a||!(_=r(p,n,!0))||(l=0,o?(t.lineStart(),t.point(_[0][0],_[0][1]),t.point(_[1][0],_[1][1]),t.lineEnd()):(t.point(_[1][0],_[1][1]),t.lineEnd(),t.lineStart(),t.point(_[0][0],_[0][1])))}!m||n&&ke(n,p)||t.point(p[0],p[1]),n=p,u=m,a=y},lineEnd:function(){u&&t.lineEnd(),n=null},clean:function(){return l|(c&&u)<<1}}}function r(t,e,n){var r=xe(t),i=xe(e),o=[1,0,0],s=Me(r,i),u=be(s,s),c=s[0],l=u-c*c;if(!l)return!n&&t;var f=a*u/l,h=-a*c/l,d=Me(o,s),p=Le(o,f),m=Le(s,h);we(p,m);var y=d,_=be(p,y),g=be(y,y),v=_*_-g*(be(p,p)-1);if(!(v<0)){var x=Math.sqrt(v),b=Le(y,(-_-x)/g);if(we(b,p),b=Ee(b),!n)return b;var M,w=t[0],L=e[0],T=t[1],E=e[1];L0^b[1]<(To(b[0]-w)Bo^(w<=b[0]&&b[0]<=L)){var Y=Le(y,(-_+x)/g);return we(Y,p),[b,Ee(Y)]}}}function i(e,n){var r=o?t:Bo-t,i=0;return e<-r?i|=1:e>r&&(i|=2),n<-r?i|=4:n>r&&(i|=8),i}var a=Math.cos(t),o=a>0,s=To(a)>Uo,u=xn(t,6*Jo);return Re(e,n,u,o?[0,-t]:[-Bo,t-Bo])}function Ve(t,e,n,r){return function(i){var a,o=i.a,s=i.b,u=o.x,c=o.y,l=s.x,f=s.y,h=0,d=1,p=l-u,m=f-c;if(a=t-u,p||!(a>0)){if(a/=p,p<0){if(a0){if(a>d)return;a>h&&(h=a)}if(a=n-u,p||!(a<0)){if(a/=p,p<0){if(a>d)return;a>h&&(h=a)}else if(p>0){if(a0)){if(a/=m,m<0){if(a0){if(a>d)return;a>h&&(h=a)}if(a=r-c,m||!(a<0)){if(a/=m,m<0){if(a>d)return;a>h&&(h=a)}else if(m>0){if(a0&&(i.a={x:u+h*p,y:c+h*m}),d<1&&(i.b={x:u+d*p,y:c+d*m}),i}}}}}}function Je(t,e,n,r){function i(r,i){return To(r[0]-t)0?0:3:To(r[0]-n)0?2:1:To(r[1]-e)0?1:0:i>0?3:2}function a(t,e){return o(t.x,e.x)}function o(t,e){var n=i(t,1),r=i(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(s){function u(t){for(var e=0,n=y.length,r=t[1],i=0;ir&&it(c,a,t)>0&&++e:a[1]<=r&&it(c,a,t)<0&&--e,c=a;return 0!==e}function c(a,s,u,c){var l=0,f=0;if(null==a||(l=i(a,u))!==(f=i(s,u))||o(a,s)<0^u>0){do c.point(0===l||3===l?t:n,l>1?r:e);while((l=(l+u+4)%4)!==f)}else c.point(s[0],s[1])}function l(i,a){return t<=i&&i<=n&&e<=a&&a<=r}function f(t,e){l(t,e)&&s.point(t,e)}function h(){N.point=p,y&&y.push(_=[]),L=!0,w=!1,b=M=NaN}function d(){m&&(p(g,v),x&&w&&k.rejoin(),m.push(k.buffer())),N.point=f,w&&s.lineEnd()}function p(t,e){t=Math.max(-Ws,Math.min(Ws,t)),e=Math.max(-Ws,Math.min(Ws,e));var n=l(t,e);if(y&&_.push([t,e]),L)g=t,v=e,x=n,L=!1,n&&(s.lineStart(),s.point(t,e));else if(n&&w)s.point(t,e);else{var r={a:{x:b,y:M},b:{x:t,y:e}};S(r)?(w||(s.lineStart(),s.point(r.a.x,r.a.y)),s.point(r.b.x,r.b.y),n||s.lineEnd(),T=!1):n&&(s.lineStart(),s.point(t,e),T=!1)}b=t,M=e,w=n}var m,y,_,g,v,x,b,M,w,L,T,E=s,k=He(),S=Ve(t,e,n,r),N={point:f,lineStart:h,lineEnd:d,polygonStart:function(){s=k,m=[],y=[],T=!0},polygonEnd:function(){s=E,m=ho.merge(m);var e=u([t,r]),n=T&&e,i=m.length;(n||i)&&(s.polygonStart(),n&&(s.lineStart(),c(null,null,1,s),s.lineEnd()),i&&Ce(m,a,e,c,s),s.polygonEnd()),m=y=_=null}};return N}}function $e(t){var e=0,n=Bo/3,r=hn(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*Bo/180,n=t[1]*Bo/180):[e/Bo*180,n/Bo*180]},i}function Ze(t,e){function n(t,e){var n=Math.sqrt(a-2*i*Math.sin(e))/i;return[n*Math.sin(t*=i),o-n*Math.cos(t)]}var r=Math.sin(t),i=(r+Math.sin(e))/2,a=1+r*(2*i-r),o=Math.sqrt(a)/i;return n.invert=function(t,e){var n=o-e;return[Math.atan2(t,n)/i,ot((a-(t*t+n*n)*i*i)/(2*i))]},n}function Xe(){function t(t,e){Vs+=i*t-r*e,r=t,i=e}var e,n,r,i;Ks.point=function(a,o){Ks.point=t,e=r=a,n=i=o},Ks.lineEnd=function(){t(e,n)}}function Ke(t,e){tZs&&(Zs=t),e<$s&&($s=e),e>Xs&&(Xs=e)}function Qe(){function t(t,e){o.push("M",t,",",e,a)}function e(t,e){o.push("M",t,",",e),s.point=n}function n(t,e){o.push("L",t,",",e)}function r(){s.point=t}function i(){o.push("Z")}var a=tn(4.5),o=[],s={point:t,lineStart:function(){s.point=e},lineEnd:r,polygonStart:function(){s.lineEnd=i},polygonEnd:function(){s.lineEnd=r,s.point=t},pointRadius:function(t){return a=tn(t),s},result:function(){if(o.length){var t=o.join("");return o=[],t}}};return s}function tn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function en(t,e){js+=t,Cs+=e,++Ps}function nn(){function t(t,r){var i=t-e,a=r-n,o=Math.sqrt(i*i+a*a);Is+=o*(e+t)/2,Rs+=o*(n+r)/2,zs+=o,en(e=t,n=r)}var e,n;tu.point=function(r,i){tu.point=t,en(e=r,n=i)}}function rn(){tu.point=en}function an(){function t(t,e){var n=t-r,a=e-i,o=Math.sqrt(n*n+a*a);Is+=o*(r+t)/2,Rs+=o*(i+e)/2,zs+=o,o=i*t-r*e,Hs+=o*(r+t),Fs+=o*(i+e),Us+=3*o,en(r=t,i=e)}var e,n,r,i;tu.point=function(a,o){tu.point=t,en(e=r=a,n=i=o)},tu.lineEnd=function(){t(e,n)}}function on(t){function e(e,n){t.moveTo(e+o,n),t.arc(e,n,o,0,Wo)}function n(e,n){t.moveTo(e,n),s.point=r}function r(e,n){t.lineTo(e,n)}function i(){s.point=e}function a(){t.closePath()}var o=4.5,s={point:e,lineStart:function(){s.point=n},lineEnd:i,polygonStart:function(){s.lineEnd=a},polygonEnd:function(){s.lineEnd=i,s.point=e},pointRadius:function(t){return o=t,s},result:E};return s}function sn(t){function e(t){return(s?r:n)(t)}function n(e){return ln(e,function(n,r){n=t(n,r),e.point(n[0],n[1])})}function r(e){function n(n,r){n=t(n,r),e.point(n[0],n[1])}function r(){v=NaN,L.point=a,e.lineStart()}function a(n,r){var a=xe([n,r]),o=t(n,r);i(v,x,g,b,M,w,v=o[0],x=o[1],g=n,b=a[0],M=a[1],w=a[2],s,e),e.point(v,x)}function o(){L.point=n,e.lineEnd()}function u(){r(),L.point=c,L.lineEnd=l}function c(t,e){a(f=t,h=e),d=v,p=x,m=b,y=M,_=w,L.point=a}function l(){i(v,x,g,b,M,w,d,p,f,m,y,_,s,e),L.lineEnd=o,o()}var f,h,d,p,m,y,_,g,v,x,b,M,w,L={point:n,lineStart:r,lineEnd:o,polygonStart:function(){e.polygonStart(),L.lineStart=u},polygonEnd:function(){e.polygonEnd(),L.lineStart=r}};return L}function i(e,n,r,s,u,c,l,f,h,d,p,m,y,_){var g=l-e,v=f-n,x=g*g+v*v;if(x>4*a&&y--){var b=s+d,M=u+p,w=c+m,L=Math.sqrt(b*b+M*M+w*w),T=Math.asin(w/=L),E=To(To(w)-1)a||To((g*Y+v*D)/x-.5)>.3||s*d+u*p+c*m0&&16,e):Math.sqrt(a)},e}function un(t){var e=sn(function(e,n){return t([e*$o,n*$o])});return function(t){return dn(e(t))}}function cn(t){this.stream=t}function ln(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function fn(t){return hn(function(){return t})()}function hn(t){function e(t){return t=s(t[0]*Jo,t[1]*Jo),[t[0]*h+u,c-t[1]*h]}function n(t){return t=s.invert((t[0]-u)/h,(c-t[1])/h),t&&[t[0]*$o,t[1]*$o]}function r(){s=Oe(o=yn(_,g,v),a);var t=a(m,y);return u=d-t[0]*h,c=p+t[1]*h,i()}function i(){return l&&(l.valid=!1,l=null),e}var a,o,s,u,c,l,f=sn(function(t,e){return t=a(t,e),[t[0]*h+u,c-t[1]*h]}),h=150,d=480,p=250,m=0,y=0,_=0,g=0,v=0,x=Bs,b=w,M=null,L=null;return e.stream=function(t){return l&&(l.valid=!1),l=dn(x(o,f(b(t)))),l.valid=!0,l},e.clipAngle=function(t){return arguments.length?(x=null==t?(M=t,Bs):Ge((M=+t)*Jo),i()):M},e.clipExtent=function(t){return arguments.length?(L=t,b=t?Je(t[0][0],t[0][1],t[1][0],t[1][1]):w,i()):L},e.scale=function(t){return arguments.length?(h=+t,r()):h},e.translate=function(t){return arguments.length?(d=+t[0],p=+t[1],r()):[d,p]},e.center=function(t){return arguments.length?(m=t[0]%360*Jo,y=t[1]%360*Jo,r()):[m*$o,y*$o]},e.rotate=function(t){return arguments.length?(_=t[0]%360*Jo,g=t[1]%360*Jo,v=t.length>2?t[2]%360*Jo:0,r()):[_*$o,g*$o,v*$o]},ho.rebind(e,f,"precision"),function(){return a=t.apply(this,arguments),e.invert=a.invert&&n,r()}}function dn(t){return ln(t,function(e,n){t.point(e*Jo,n*Jo)})}function pn(t,e){return[t,e]}function mn(t,e){return[t>Bo?t-Wo:t<-Bo?t+Wo:t,e]}function yn(t,e,n){return t?e||n?Oe(gn(t),vn(e,n)):gn(t):e||n?vn(e,n):mn}function _n(t){return function(e,n){return e+=t,[e>Bo?e-Wo:e<-Bo?e+Wo:e,n]}}function gn(t){var e=_n(t);return e.invert=_n(-t),e}function vn(t,e){function n(t,e){var n=Math.cos(e),s=Math.cos(t)*n,u=Math.sin(t)*n,c=Math.sin(e),l=c*r+s*i;return[Math.atan2(u*a-l*o,s*r-c*i),ot(l*a+u*o)]}var r=Math.cos(t),i=Math.sin(t),a=Math.cos(e),o=Math.sin(e);return n.invert=function(t,e){var n=Math.cos(e),s=Math.cos(t)*n,u=Math.sin(t)*n,c=Math.sin(e),l=c*a-u*o;return[Math.atan2(u*a+c*o,s*r+l*i),ot(l*r-s*i)]},n}function xn(t,e){var n=Math.cos(t),r=Math.sin(t);return function(i,a,o,s){var u=o*e;null!=i?(i=bn(n,i),a=bn(n,a),(o>0?ia)&&(i+=o*Wo)):(i=t+o*Wo,a=t-.5*u);for(var c,l=i;o>0?l>a:l0?e<-Vo+Uo&&(e=-Vo+Uo):e>Vo-Uo&&(e=Vo-Uo);var n=o/Math.pow(i(e),a);return[n*Math.sin(a*t),o-n*Math.cos(a*t)]}var r=Math.cos(t),i=function(t){return Math.tan(Bo/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(i(e)/i(t)),o=r*Math.pow(i(t),a)/a;return a?(n.invert=function(t,e){var n=o-e,r=rt(a)*Math.sqrt(t*t+n*n);return[Math.atan2(t,n)/a,2*Math.atan(Math.pow(o/r,1/a))-Vo]},n):Dn}function Yn(t,e){function n(t,e){var n=a-e;return[n*Math.sin(i*t),a-n*Math.cos(i*t)]}var r=Math.cos(t),i=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/i+t;return To(i)1&&it(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}function In(t,e){return t[0]-e[0]||t[1]-e[1]}function Rn(t,e,n){return(n[0]-e[0])*(t[1]-e[1])<(n[1]-e[1])*(t[0]-e[0])}function zn(t,e,n,r){var i=t[0],a=n[0],o=e[0]-i,s=r[0]-a,u=t[1],c=n[1],l=e[1]-u,f=r[1]-c,h=(s*(u-c)-f*(i-a))/(f*o-s*l);return[i+h*o,u+h*l]}function Hn(t){var e=t[0],n=t[t.length-1];return!(e[0]-n[0]||e[1]-n[1])}function Fn(){ur(this),this.edge=this.site=this.circle=null}function Un(t){var e=pu.pop()||new Fn;return e.site=t,e}function qn(t){Qn(t),fu.remove(t),pu.push(t),ur(t)}function Bn(t){var e=t.circle,n=e.x,r=e.cy,i={x:n,y:r},a=t.P,o=t.N,s=[t];qn(t);for(var u=a;u.circle&&To(n-u.circle.x)Uo)s=s.L;else{if(i=a-Vn(s,o),!(i>Uo)){r>-Uo?(e=s.P,n=s):i>-Uo?(e=s,n=s.N):e=n=s;break}if(!s.R){e=s;break}s=s.R}var u=Un(t);if(fu.insert(e,u),e||n){if(e===n)return Qn(e),n=Un(e.site),fu.insert(u,n),u.edge=n.edge=rr(e.site,u.site),Kn(e),void Kn(n);if(!n)return void(u.edge=rr(e.site,u.site));Qn(e),Qn(n);var c=e.site,l=c.x,f=c.y,h=t.x-l,d=t.y-f,p=n.site,m=p.x-l,y=p.y-f,_=2*(h*y-d*m),g=h*h+d*d,v=m*m+y*y,x={x:(y*g-d*v)/_+l,y:(h*v-m*g)/_+f};ar(n.edge,c,p,x),u.edge=rr(c,t,null,x),n.edge=rr(t,p,null,x),Kn(e),Kn(n)}}function Gn(t,e){var n=t.site,r=n.x,i=n.y,a=i-e;if(!a)return r;var o=t.P;if(!o)return-(1/0);n=o.site;var s=n.x,u=n.y,c=u-e;if(!c)return s;var l=s-r,f=1/a-1/c,h=l/c;return f?(-h+Math.sqrt(h*h-2*f*(l*l/(-2*c)-u+c/2+i-a/2)))/f+r:(r+s)/2}function Vn(t,e){var n=t.N;if(n)return Gn(n,e);var r=t.site;return r.y===e?r.x:1/0}function Jn(t){this.site=t,this.edges=[]}function $n(t){for(var e,n,r,i,a,o,s,u,c,l,f=t[0][0],h=t[1][0],d=t[0][1],p=t[1][1],m=lu,y=m.length;y--;)if(a=m[y],a&&a.prepare())for(s=a.edges,u=s.length,o=0;oUo||To(i-n)>Uo)&&(s.splice(o,0,new or(ir(a.site,l,To(r-f)Uo?{x:f,y:To(e-f)Uo?{x:To(n-p)Uo?{x:h,y:To(e-h)Uo?{x:To(n-d)=-qo)){var d=u*u+c*c,p=l*l+f*f,m=(f*d-c*p)/h,y=(u*p-l*d)/h,f=y+s,_=mu.pop()||new Xn;_.arc=t,_.site=i,_.x=m+o,_.y=f+Math.sqrt(m*m+y*y),_.cy=f,t.circle=_;for(var g=null,v=du._;v;)if(_.y=s)return;if(h>p){if(a){if(a.y>=c)return}else a={x:y,y:u};n={x:y,y:c}}else{if(a){if(a.y1)if(h>p){if(a){if(a.y>=c)return}else a={x:(u-i)/r,y:u};n={x:(c-i)/r,y:c}}else{if(a){if(a.y=s)return}else a={x:o,y:r*o+i};n={x:s,y:r*s+i}}else{if(a){if(a.xa||f>o||h=x,w=n>=b,L=w<<1|M,T=L+4;La&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(n=n[0])===(r=r[0])?s[o]?s[o]+=r:s[++o]=r:(s[++o]=null,u.push({i:o,x:Mr(n,r)})),a=gu.lastIndex;return a=0&&!(n=ho.interpolators[r](t,e)););return n}function Tr(t,e){var n,r=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(n=0;n=1?1:t(e)}}function kr(t){return function(e){return 1-t(1-e)}}function Sr(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Nr(t){return t*t}function Yr(t){return t*t*t}function Dr(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,n=e*t;return 4*(t<.5?n:3*(t-e)+n-.75)}function Ar(t){return function(e){return Math.pow(e,t)}}function Or(t){return 1-Math.cos(t*Vo)}function jr(t){return Math.pow(2,10*(t-1))}function Cr(t){return 1-Math.sqrt(1-t*t)}function Pr(t,e){var n;return arguments.length<2&&(e=.45),arguments.length?n=e/Wo*Math.asin(1/t):(t=1,n=e/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-n)*Wo/e)}}function Ir(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function Rr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function zr(t,e){t=ho.hcl(t),e=ho.hcl(e);var n=t.h,r=t.c,i=t.l,a=e.h-n,o=e.c-r,s=e.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?e.c:r),isNaN(a)?(a=0,n=isNaN(n)?e.h:n):a>180?a-=360:a<-180&&(a+=360),function(t){return mt(n+a*t,r+o*t,i+s*t)+""}}function Hr(t,e){t=ho.hsl(t),e=ho.hsl(e);var n=t.h,r=t.s,i=t.l,a=e.h-n,o=e.s-r,s=e.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?e.s:r),isNaN(a)?(a=0,n=isNaN(n)?e.h:n):a>180?a-=360:a<-180&&(a+=360),function(t){return dt(n+a*t,r+o*t,i+s*t)+""}}function Fr(t,e){t=ho.lab(t),e=ho.lab(e);var n=t.l,r=t.a,i=t.b,a=e.l-n,o=e.a-r,s=e.b-i;return function(t){return _t(n+a*t,r+o*t,i+s*t)+""}}function Ur(t,e){return e-=t,function(n){return Math.round(t+e*n)}}function qr(t){var e=[t.a,t.b],n=[t.c,t.d],r=Wr(e),i=Br(e,n),a=Wr(Gr(n,e,-i))||0;e[0]*n[1]180?e+=360:e-t>180&&(t+=360),r.push({i:n.push(Vr(n)+"rotate(",null,")")-2,x:Mr(t,e)})):e&&n.push(Vr(n)+"rotate("+e+")")}function Zr(t,e,n,r){t!==e?r.push({i:n.push(Vr(n)+"skewX(",null,")")-2,x:Mr(t,e)}):e&&n.push(Vr(n)+"skewX("+e+")")}function Xr(t,e,n,r){if(t[0]!==e[0]||t[1]!==e[1]){var i=n.push(Vr(n)+"scale(",null,",",null,")");r.push({i:i-4,x:Mr(t[0],e[0])},{i:i-2,x:Mr(t[1],e[1])})}else 1===e[0]&&1===e[1]||n.push(Vr(n)+"scale("+e+")")}function Kr(t,e){var n=[],r=[];return t=ho.transform(t),e=ho.transform(e),Jr(t.translate,e.translate,n,r),$r(t.rotate,e.rotate,n,r),Zr(t.skew,e.skew,n,r),Xr(t.scale,e.scale,n,r),t=e=null,function(t){for(var e,i=-1,a=r.length;++i=0;)n.push(i[r])}function fi(t,e){for(var n=[t],r=[];null!=(t=n.pop());)if(r.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++oi&&(r=n,i=e);return r}function Mi(t){return t.reduce(wi,0)}function wi(t,e){return t+e[1]}function Li(t,e){return Ti(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ti(t,e){for(var n=-1,r=+t[0],i=(t[1]-r)/e,a=[];++n<=e;)a[n]=i*n+r;return a}function Ei(t){return[ho.min(t),ho.max(t)]}function ki(t,e){return t.value-e.value}function Si(t,e){var n=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=n,n._pack_prev=e}function Ni(t,e){t._pack_next=e,e._pack_prev=t}function Yi(t,e){var n=e.x-t.x,r=e.y-t.y,i=t.r+e.r;return.999*i*i>n*n+r*r}function Di(t){function e(t){l=Math.min(t.x-t.r,l),f=Math.max(t.x+t.r,f),h=Math.min(t.y-t.r,h),d=Math.max(t.y+t.r,d)}if((n=t.children)&&(c=n.length)){var n,r,i,a,o,s,u,c,l=1/0,f=-(1/0),h=1/0,d=-(1/0);if(n.forEach(Ai),r=n[0],r.x=-r.r,r.y=0,e(r),c>1&&(i=n[1],i.x=i.r,i.y=0,e(i),c>2))for(a=n[2],Ci(r,i,a),e(a),Si(r,a),r._pack_prev=a,Si(a,i),i=r._pack_next,o=3;o=0;)e=i[a],e.z+=n,e.m+=n,n+=e.s+(r+=e.c)}function Fi(t,e,n){return t.a.parent===e.parent?t.a:n;
}function Ui(t){return 1+ho.max(t,function(t){return t.y})}function qi(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function Bi(t){var e=t.children;return e&&e.length?Bi(e[0]):t}function Wi(t){var e,n=t.children;return n&&(e=n.length)?Wi(n[e-1]):t}function Gi(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Vi(t,e){var n=t.x+e[3],r=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(n+=i/2,i=0),a<0&&(r+=a/2,a=0),{x:n,y:r,dx:i,dy:a}}function Ji(t){var e=t[0],n=t[t.length-1];return e2?Qi:Zi,u=r?ti:Qr;return o=i(t,e,u,n),s=i(e,t,u,Lr),a}function a(t){return o(t)}var o,s;return a.invert=function(t){return s(t)},a.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},a.range=function(t){return arguments.length?(e=t,i()):e},a.rangeRound=function(t){return a.range(t).interpolate(Ur)},a.clamp=function(t){return arguments.length?(r=t,i()):r},a.interpolate=function(t){return arguments.length?(n=t,i()):n},a.ticks=function(e){return ia(t,e)},a.tickFormat=function(e,n){return aa(t,e,n)},a.nice=function(e){return na(t,e),i()},a.copy=function(){return ta(t,e,n,r)},i()}function ea(t,e){return ho.rebind(t,e,"range","rangeRound","interpolate","clamp")}function na(t,e){return Xi(t,Ki(ra(t,e)[2])),Xi(t,Ki(ra(t,e)[2])),t}function ra(t,e){null==e&&(e=10);var n=Ji(t),r=n[1]-n[0],i=Math.pow(10,Math.floor(Math.log(r/e)/Math.LN10)),a=e/r*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),n[0]=Math.ceil(n[0]/i)*i,n[1]=Math.floor(n[1]/i)*i+.5*i,n[2]=i,n}function ia(t,e){return ho.range.apply(ho,ra(t,e))}function aa(t,e,n){var r=ra(t,e);if(n){var i=_s.exec(n);if(i.shift(),"s"===i[8]){var a=ho.formatPrefix(Math.max(To(r[0]),To(r[1])));return i[7]||(i[7]="."+oa(a.scale(r[2]))),i[8]="f",n=ho.format(i.join("")),function(t){return n(a.scale(t))+a.symbol}}i[7]||(i[7]="."+sa(i[8],r)),n=i.join("")}else n=",."+oa(r[2])+"f";return ho.format(n)}function oa(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function sa(t,e){var n=oa(e[2]);return t in Yu?Math.abs(n-oa(Math.max(To(e[0]),To(e[1]))))+ +("e"!==t):n-2*("%"===t)}function ua(t,e,n,r){function i(t){return(n?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return n?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(n=e[0]>=0,t.domain((r=e.map(Number)).map(i)),o):r},o.base=function(n){return arguments.length?(e=+n,t.domain(r.map(i)),o):e},o.nice=function(){var e=Xi(r.map(i),n?Math:Au);return t.domain(e),r=e.map(a),o},o.ticks=function(){var t=Ji(r),o=[],s=t[0],u=t[1],c=Math.floor(i(s)),l=Math.ceil(i(u)),f=e%1?2:e;if(isFinite(l-c)){if(n){for(;c0;h--)o.push(a(c)*h);for(c=0;o[c]u;l--);o=o.slice(c,l)}return o},o.tickFormat=function(t,n){if(!arguments.length)return Du;arguments.length<2?n=Du:"function"!=typeof n&&(n=ho.format(n));var r=Math.max(1,e*t/o.ticks().length);return function(t){var o=t/a(Math.round(i(t)));return o*e0?i[n-1]:t[0],n0?0:1}function wa(t,e,n,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?r:-r)/Math.sqrt(a*a+o*o),u=s*o,c=-s*a,l=t[0]+u,f=t[1]+c,h=e[0]+u,d=e[1]+c,p=(l+h)/2,m=(f+d)/2,y=h-l,_=d-f,g=y*y+_*_,v=n-r,x=l*d-h*f,b=(_<0?-1:1)*Math.sqrt(Math.max(0,v*v*g-x*x)),M=(x*_-y*b)/g,w=(-x*y-_*b)/g,L=(x*_+y*b)/g,T=(-x*y+_*b)/g,E=M-p,k=w-m,S=L-p,N=T-m;return E*E+k*k>S*S+N*N&&(M=L,w=T),[[M-u,w-c],[M*n/v,w*n/v]]}function La(t){function e(e){function o(){c.push("M",a(t(l),s))}for(var u,c=[],l=[],f=-1,h=e.length,d=Dt(n),p=Dt(r);++f1?t.join("L"):t+"Z"}function Ea(t){return t.join("L")+"Z"}function ka(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e1&&i.push("H",r[0]),i.join("")}function Sa(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e1){s=e[1],a=t[u],u++,r+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;c9&&(i=3*e/Math.sqrt(i),o[s]=i*n,o[s+1]=i*r));for(s=-1;++s<=u;)i=(t[Math.min(u,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}function Ba(t){return t.length<3?Ta(t):t[0]+Oa(t,qa(t))}function Wa(t){for(var e,n,r,i=-1,a=t.length;++i0;)h[--s].call(t,o);if(a>=1)return m.event&&m.event.end.call(t,t.__data__,e),--d.count?delete d[r]:delete t[n],1}var u,c,l,f,h,d=t[n]||(t[n]={active:0,count:0}),m=d[r];m||(u=i.time,c=Pt(a,0,u),m=d[r]={tween:new p,time:u,timer:c,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++d.count)}function ao(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate("+(isFinite(r)?r:n(t))+",0)"})}function oo(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate(0,"+(isFinite(r)?r:n(t))+")"})}function so(t){return t.toISOString()}function uo(t,e,n){function r(e){return t(e)}function i(t,n){var r=t[1]-t[0],i=r/n,a=ho.bisect(rc,i);return a==rc.length?[e.year,ra(t.map(function(t){return t/31536e6}),n)[2]]:a?e[i/rc[a-1]1?{floor:function(e){for(;n(e=t.floor(e));)e=co(e-1);return e},ceil:function(e){for(;n(e=t.ceil(e));)e=co(+e+1);return e}}:t))},r.ticks=function(t,e){var n=Ji(r.domain()),a=null==t?i(n,10):"number"==typeof t?i(n,t):!t.range&&[{range:t},e];return a&&(t=a[0],e=a[1]),t.range(n[0],co(+n[1]+1),e<1?1:e)},r.tickFormat=function(){return n},r.copy=function(){return uo(t.copy(),e,n)},ea(r,t)}function co(t){return new Date(t)}function lo(t){return JSON.parse(t.responseText)}function fo(t){var e=yo.createRange();return e.selectNode(yo.body),e.createContextualFragment(t.responseText)}var ho={version:"3.5.17"},po=[].slice,mo=function(t){return po.call(t)},yo=this.document;if(yo)try{mo(yo.documentElement.childNodes)[0].nodeType}catch(_o){mo=function(t){for(var e=t.length,n=new Array(e);e--;)n[e]=t[e];return n}}if(Date.now||(Date.now=function(){return+new Date}),yo)try{yo.createElement("DIV").style.setProperty("opacity",0,"")}catch(go){var vo=this.Element.prototype,xo=vo.setAttribute,bo=vo.setAttributeNS,Mo=this.CSSStyleDeclaration.prototype,wo=Mo.setProperty;vo.setAttribute=function(t,e){xo.call(this,t,e+"")},vo.setAttributeNS=function(t,e,n){bo.call(this,t,e,n+"")},Mo.setProperty=function(t,e,n){wo.call(this,t,e+"",n)}}ho.ascending=s,ho.descending=function(t,e){return et?1:e>=t?0:NaN},ho.min=function(t,e){var n,r,i=-1,a=t.length;if(1===arguments.length){for(;++i=r){n=r;break}for(;++ir&&(n=r)}else{for(;++i=r){n=r;break}for(;++ir&&(n=r)}return n},ho.max=function(t,e){var n,r,i=-1,a=t.length;if(1===arguments.length){for(;++i=r){n=r;break}for(;++in&&(n=r)}else{for(;++i=r){n=r;break}for(;++in&&(n=r)}return n},ho.extent=function(t,e){var n,r,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=r){n=i=r;break}for(;++ar&&(n=r),i=r){n=i=r;break}for(;++ar&&(n=r),i1)return o/(l-1)},ho.deviation=function(){var t=ho.variance.apply(this,arguments);return t?Math.sqrt(t):t};var Lo=l(s);ho.bisectLeft=Lo.left,ho.bisect=ho.bisectRight=Lo.right,ho.bisector=function(t){return l(1===t.length?function(e,n){return s(t(e),n)}:t)},ho.shuffle=function(t,e,n){(a=arguments.length)<3&&(n=t.length,a<2&&(e=0));for(var r,i,a=n-e;a;)i=Math.random()*a--|0,r=t[a+e],t[a+e]=t[i+e],t[i+e]=r;return t},ho.permute=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},ho.pairs=function(t){for(var e,n=0,r=t.length-1,i=t[0],a=new Array(r<0?0:r);n=0;)for(r=t[i],e=r.length;--e>=0;)n[--o]=r[e];return n};var To=Math.abs;ho.range=function(t,e,n){if(arguments.length<3&&(n=1,arguments.length<2&&(e=t,t=0)),(e-t)/n===1/0)throw new Error("infinite range");var r,i=[],a=h(To(n)),o=-1;if(t*=a,e*=a,n*=a,n<0)for(;(r=t+n*++o)>e;)i.push(r/a);else for(;(r=t+n*++o)=a.length)return r?r.call(i,o):n?o.sort(n):o;for(var u,c,l,f,h=-1,d=o.length,m=a[s++],y=new p;++h=a.length)return t;var r=[],i=o[n++];return t.forEach(function(t,i){r.push({key:t,values:e(i,n)})}),i?r.sort(function(t,e){return i(t.key,e.key)}):r}var n,r,i={},a=[],o=[];return i.map=function(e,n){return t(n,e,0)},i.entries=function(n){return e(t(ho.map,n,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return o[a.length-1]=t,i},i.sortValues=function(t){return n=t,i},i.rollup=function(t){return r=t,i},i},ho.set=function(t){var e=new M;if(t)for(var n=0,r=t.length;n=0&&(r=t.slice(n+1),t=t.slice(0,n)),t)return arguments.length<2?this[t].on(r):this[t].on(r,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(r,null);return this}},ho.event=null,ho.requote=function(t){return t.replace(No,"\\$&")};var No=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Yo={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var n in e)t[n]=e[n]},Do=function(t,e){return e.querySelector(t)},Ao=function(t,e){return e.querySelectorAll(t)},Oo=function(t,e){var n=t.matches||t[T(t,"matchesSelector")];return(Oo=function(t,e){return n.call(t,e)})(t,e)};"function"==typeof Sizzle&&(Do=function(t,e){return Sizzle(t,e)[0]||null},Ao=Sizzle,Oo=Sizzle.matchesSelector),ho.selection=function(){return ho.select(yo.documentElement)};var jo=ho.selection.prototype=[];jo.select=function(t){var e,n,r,i,a=[];t=O(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),Po.hasOwnProperty(n)?{space:Po[n],local:t}:t}},jo.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node();return t=ho.ns.qualify(t),t.local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(e in t)this.each(C(e,t[e]));return this}return this.each(C(t,e))},jo.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node(),r=(t=R(t)).length,i=-1;if(e=n.classList){for(;++i=0;)(n=r[i])&&(a&&a!==n.nextSibling&&a.parentNode.insertBefore(n,a),a=n);return this},jo.sort=function(t){t=V.apply(this,arguments);for(var e=-1,n=this.length;++e0&&(e=e.transition().duration(k)),e.call(t.event)}function s(){b&&b.domain(x.range().map(function(t){return(t-L.x)/L.k}).map(x.invert)),w&&w.domain(M.range().map(function(t){return(t-L.y)/L.k}).map(M.invert))}function u(t){S++||t({type:"zoomstart"})}function c(t){s(),t({type:"zoom",scale:L.k,translate:[L.x,L.y]})}function l(t){--S||(t({type:"zoomend"}),y=null)}function f(){function t(){s=1,i(ho.mouse(r),h),c(a)}function n(){f.on(A,null).on(O,null),d(s),l(a)}var r=this,a=C.of(r,arguments),s=0,f=ho.select(o(r)).on(A,t).on(O,n),h=e(ho.mouse(r)),d=tt(r);Vu.call(r),u(a)}function h(){function t(){var t=ho.touches(p);return d=L.k,t.forEach(function(t){t.identifier in y&&(y[t.identifier]=e(t))}),t}function n(){var e=ho.event.target;ho.select(e).on(x,o).on(b,s),M.push(e);for(var n=ho.event.changedTouches,r=0,i=n.length;r1){var l=u[0],f=u[1],h=l[0]-f[0],d=l[1]-f[1];_=h*h+d*d}}function o(){var t,e,n,a,o=ho.touches(p);Vu.call(p);for(var s=0,u=o.length;s=c)return o;if(i)return i=!1,a;var e=l;if(34===t.charCodeAt(e)){for(var n=e;n++=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,gs=ho.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=ho.round(t,Ht(t,e))).toFixed(Math.max(0,Math.min(20,Ht(t*(1+1e-15),e))))}}),vs=ho.time={},xs=Date;Bt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){bs.setUTCDate.apply(this._,arguments)},setDay:function(){bs.setUTCDay.apply(this._,arguments)},setFullYear:function(){bs.setUTCFullYear.apply(this._,arguments)},setHours:function(){bs.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){bs.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){bs.setUTCMinutes.apply(this._,arguments)},setMonth:function(){bs.setUTCMonth.apply(this._,arguments)},setSeconds:function(){bs.setUTCSeconds.apply(this._,arguments)},setTime:function(){bs.setTime.apply(this._,arguments)}};var bs=Date.prototype;vs.year=Wt(function(t){return t=vs.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),vs.years=vs.year.range,vs.years.utc=vs.year.utc.range,vs.day=Wt(function(t){var e=new xs(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),vs.days=vs.day.range,vs.days.utc=vs.day.utc.range,vs.dayOfYear=function(t){var e=vs.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,e){e=7-e;var n=vs[t]=Wt(function(t){return(t=vs.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var n=vs.year(t).getDay();return Math.floor((vs.dayOfYear(t)+(n+e)%7)/7)-(n!==e)});vs[t+"s"]=n.range,vs[t+"s"].utc=n.utc.range,vs[t+"OfYear"]=function(t){var n=vs.year(t).getDay();return Math.floor((vs.dayOfYear(t)+(n+e)%7)/7)}}),vs.week=vs.sunday,vs.weeks=vs.sunday.range,vs.weeks.utc=vs.sunday.utc.range,vs.weekOfYear=vs.sundayOfYear;var Ms={"-":"",_:" ",0:"0"},ws=/^\s*\d+/,Ls=/^%/;ho.locale=function(t){return{numberFormat:Ut(t),timeFormat:Vt(t)}};var Ts=ho.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ho.format=Ts.numberFormat,ho.geo={},pe.prototype={s:0,t:0,add:function(t){me(t,this.t,Es),me(Es.s,this.s,this),this.s?this.t+=Es.t:this.s=Es.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var Es=new pe;ho.geo.stream=function(t,e){t&&ks.hasOwnProperty(t.type)?ks[t.type](t,e):ye(t,e)};var ks={Feature:function(t,e){ye(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++rd&&(d=e)}function e(e,n){var r=xe([e*Jo,n*Jo]);if(_){var i=Me(_,r),a=[i[1],-i[0],0],o=Me(a,i);Te(o),o=Ee(o);var u=e-p,c=u>0?1:-1,m=o[0]*$o*c,y=To(u)>180;if(y^(c*pd&&(d=g)}else if(m=(m+360)%360-180,y^(c*pd&&(d=n);y?es(l,h)&&(h=e):s(e,h)>s(l,h)&&(l=e):h>=l?(eh&&(h=e)):e>p?s(l,e)>s(l,h)&&(h=e):s(e,h)>s(l,h)&&(l=e)}else t(e,n);_=r,p=e}function n(){b.point=e}function r(){x[0]=l,x[1]=h,b.point=t,_=null}function i(t,n){if(_){var r=t-p;g+=To(r)>180?r+(r>0?360:-360):r}else m=t,y=n;Ds.point(t,n),e(t,n)}function a(){Ds.lineStart()}function o(){i(m,y),Ds.lineEnd(),To(g)>Uo&&(l=-(h=180)),x[0]=l,x[1]=h,_=null}function s(t,e){return(e-=t)<0?e+360:e}function u(t,e){return t[0]-e[0]}function c(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:tUo?d=90:g<-Uo&&(f=-90),x[0]=l,x[1]=h}};return function(t){d=h=-(l=f=1/0),v=[],ho.geo.stream(t,b);var e=v.length;if(e){v.sort(u);for(var n,r=1,i=v[0],a=[i];rs(i[0],i[1])&&(i[1]=n[1]),s(n[0],i[1])>s(i[0],i[1])&&(i[0]=n[0])):a.push(i=n);for(var o,n,p=-(1/0),e=a.length-1,r=0,i=a[e];r<=e;i=n,++r)n=a[r],(o=s(i[1],n[0]))>p&&(p=o,l=n[0],h=i[1])}return v=x=null,l===1/0||f===1/0?[[NaN,NaN],[NaN,NaN]]:[[l,f],[h,d]]}}(),ho.geo.centroid=function(t){As=Os=js=Cs=Ps=Is=Rs=zs=Hs=Fs=Us=0,ho.geo.stream(t,qs);var e=Hs,n=Fs,r=Us,i=e*e+n*n+r*r;return i=.12&&i<.234&&r>=-.425&&r<-.214?o:i>=.166&&i<.234&&r>=-.214&&r<-.115?s:a).invert(t)},t.stream=function(t){var e=a.stream(t),n=o.stream(t),r=s.stream(t);return{point:function(t,i){e.point(t,i),n.point(t,i),r.point(t,i)},sphere:function(){e.sphere(),n.sphere(),r.sphere()},lineStart:function(){e.lineStart(),n.lineStart(),r.lineStart()},lineEnd:function(){e.lineEnd(),n.lineEnd(),r.lineEnd()},polygonStart:function(){e.polygonStart(),n.polygonStart(),r.polygonStart()},polygonEnd:function(){e.polygonEnd(),n.polygonEnd(),r.polygonEnd()}}},t.precision=function(e){return arguments.length?(a.precision(e),o.precision(e),s.precision(e),t):a.precision()},t.scale=function(e){return arguments.length?(a.scale(e),o.scale(.35*e),s.scale(e),t.translate(a.translate())):a.scale()},t.translate=function(e){if(!arguments.length)return a.translate();var c=a.scale(),l=+e[0],f=+e[1];return n=a.translate(e).clipExtent([[l-.455*c,f-.238*c],[l+.455*c,f+.238*c]]).stream(u).point,r=o.translate([l-.307*c,f+.201*c]).clipExtent([[l-.425*c+Uo,f+.12*c+Uo],[l-.214*c-Uo,f+.234*c-Uo]]).stream(u).point,i=s.translate([l-.205*c,f+.212*c]).clipExtent([[l-.214*c+Uo,f+.166*c+Uo],[l-.115*c-Uo,f+.234*c-Uo]]).stream(u).point,t},t.scale(1070)};var Gs,Vs,Js,$s,Zs,Xs,Ks={point:E,lineStart:E,lineEnd:E,polygonStart:function(){Vs=0,Ks.lineStart=Xe},polygonEnd:function(){Ks.lineStart=Ks.lineEnd=Ks.point=E,Gs+=To(Vs/2)}},Qs={point:Ke,lineStart:E,lineEnd:E,polygonStart:E,polygonEnd:E},tu={point:en,lineStart:nn,lineEnd:rn,polygonStart:function(){tu.lineStart=an},polygonEnd:function(){tu.point=en,tu.lineStart=nn,tu.lineEnd=rn}};ho.geo.path=function(){function t(t){return t&&("function"==typeof s&&a.pointRadius(+s.apply(this,arguments)),o&&o.valid||(o=i(a)),ho.geo.stream(t,o)),a.result()}function e(){return o=null,t}var n,r,i,a,o,s=4.5;return t.area=function(t){return Gs=0,ho.geo.stream(t,i(Ks)),Gs},t.centroid=function(t){return js=Cs=Ps=Is=Rs=zs=Hs=Fs=Us=0,ho.geo.stream(t,i(tu)),Us?[Hs/Us,Fs/Us]:zs?[Is/zs,Rs/zs]:Ps?[js/Ps,Cs/Ps]:[NaN,NaN]},t.bounds=function(t){return Zs=Xs=-(Js=$s=1/0),ho.geo.stream(t,i(Qs)),[[Js,$s],[Zs,Xs]]},t.projection=function(t){return arguments.length?(i=(n=t)?t.stream||un(t):w,e()):n},t.context=function(t){return arguments.length?(a=null==(r=t)?new Qe:new on(t),"function"!=typeof s&&a.pointRadius(s),e()):r},t.pointRadius=function(e){return arguments.length?(s="function"==typeof e?e:(a.pointRadius(+e),+e),t):s},t.projection(ho.geo.albersUsa()).context(null)},ho.geo.transform=function(t){return{stream:function(e){var n=new cn(e);for(var r in t)n[r]=t[r];return n}}},cn.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ho.geo.projection=fn,ho.geo.projectionMutator=hn,(ho.geo.equirectangular=function(){return fn(pn)}).raw=pn.invert=pn,ho.geo.rotation=function(t){function e(e){return e=t(e[0]*Jo,e[1]*Jo),e[0]*=$o,e[1]*=$o,e}return t=yn(t[0]%360*Jo,t[1]*Jo,t.length>2?t[2]*Jo:0),e.invert=function(e){return e=t.invert(e[0]*Jo,e[1]*Jo),e[0]*=$o,e[1]*=$o,e},e},mn.invert=pn,ho.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,e=yn(-t[0]*Jo,-t[1]*Jo,0).invert,i=[];return n(null,null,1,{point:function(t,n){i.push(t=e(t,n)),t[0]*=$o,t[1]*=$o}}),{type:"Polygon",coordinates:[i]}}var e,n,r=[0,0],i=6;return t.origin=function(e){return arguments.length?(r=e,t):r},t.angle=function(r){return arguments.length?(n=xn((e=+r)*Jo,i*Jo),t):e},t.precision=function(r){return arguments.length?(n=xn(e*Jo,(i=+r)*Jo),t):i},t.angle(90)},ho.geo.distance=function(t,e){var n,r=(e[0]-t[0])*Jo,i=t[1]*Jo,a=e[1]*Jo,o=Math.sin(r),s=Math.cos(r),u=Math.sin(i),c=Math.cos(i),l=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((n=f*o)*n+(n=c*l-u*f*s)*n),u*l+c*f*s)},ho.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:e()}}function e(){return ho.range(Math.ceil(a/y)*y,i,y).map(h).concat(ho.range(Math.ceil(c/_)*_,u,_).map(d)).concat(ho.range(Math.ceil(r/p)*p,n,p).filter(function(t){return To(t%y)>Uo}).map(l)).concat(ho.range(Math.ceil(s/m)*m,o,m).filter(function(t){return To(t%_)>Uo}).map(f))}var n,r,i,a,o,s,u,c,l,f,h,d,p=10,m=p,y=90,_=360,g=2.5;return t.lines=function(){return e().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[h(a).concat(d(u).slice(1),h(i).reverse().slice(1),d(c).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(a=+e[0][0],i=+e[1][0],c=+e[0][1],u=+e[1][1],a>i&&(e=a,a=i,i=e),c>u&&(e=c,c=u,u=e),t.precision(g)):[[a,c],[i,u]]},t.minorExtent=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],s=+e[0][1],o=+e[1][1],r>n&&(e=r,r=n,n=e),s>o&&(e=s,s=o,o=e),t.precision(g)):[[r,s],[n,o]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(y=+e[0],_=+e[1],t):[y,_]},t.minorStep=function(e){return arguments.length?(p=+e[0],m=+e[1],t):[p,m]},t.precision=function(e){return arguments.length?(g=+e,l=Mn(s,o,90),f=wn(r,n,g),h=Mn(c,u,90),d=wn(a,i,g),t):g},t.majorExtent([[-180,-90+Uo],[180,90-Uo]]).minorExtent([[-180,-80-Uo],[180,80+Uo]])},ho.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[e||r.apply(this,arguments),n||i.apply(this,arguments)]}}var e,n,r=Ln,i=Tn;return t.distance=function(){return ho.geo.distance(e||r.apply(this,arguments),n||i.apply(this,arguments))},t.source=function(n){return arguments.length?(r=n,e="function"==typeof n?null:n,t):r},t.target=function(e){return arguments.length?(i=e,n="function"==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},ho.geo.interpolate=function(t,e){return En(t[0]*Jo,t[1]*Jo,e[0]*Jo,e[1]*Jo)},ho.geo.length=function(t){return eu=0,ho.geo.stream(t,nu),eu};var eu,nu={sphere:E,point:E,lineStart:kn,lineEnd:E,polygonStart:E,polygonEnd:E},ru=Sn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(ho.geo.azimuthalEqualArea=function(){return fn(ru)}).raw=ru;var iu=Sn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},w);(ho.geo.azimuthalEquidistant=function(){return fn(iu)}).raw=iu,(ho.geo.conicConformal=function(){return $e(Nn)}).raw=Nn,(ho.geo.conicEquidistant=function(){return $e(Yn)}).raw=Yn;var au=Sn(function(t){return 1/t},Math.atan);(ho.geo.gnomonic=function(){return fn(au)}).raw=au,Dn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Vo]},(ho.geo.mercator=function(){return An(Dn)}).raw=Dn;var ou=Sn(function(){return 1},Math.asin);(ho.geo.orthographic=function(){return fn(ou)}).raw=ou;var su=Sn(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(ho.geo.stereographic=function(){return fn(su)}).raw=su,On.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Vo]},(ho.geo.transverseMercator=function(){var t=An(On),e=t.center,n=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])},n([0,0,90])}).raw=On,ho.geom={},ho.geom.hull=function(t){function e(t){if(t.length<3)return[];var e,i=Dt(n),a=Dt(r),o=t.length,s=[],u=[];for(e=0;e=0;--e)d.push(t[s[c[e]][2]]);for(e=+f;e=r&&c.x<=a&&c.y>=i&&c.y<=o?[[r,o],[a,o],[a,i],[r,i]]:[];l.point=t[s]}),e}function n(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/Uo)*Uo,y:Math.round(o(t,e)/Uo)*Uo,i:e}})}var r=jn,i=Cn,a=r,o=i,s=yu;return t?e(t):(e.links=function(t){return hr(n(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return hr(n(t)).cells.forEach(function(n,r){for(var i,a,o=n.site,s=n.edges.sort(Zn),u=-1,c=s.length,l=s[c-1].edge,f=l.l===o?l.r:l.l;++u=c,h=r>=l,d=h<<1|f;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]=_r()),f?i=c:s=c,h?o=l:u=l,a(t,e,n,r,i,o,s,u)}var l,f,h,d,p,m,y,_,g,v=Dt(s),x=Dt(u);if(null!=e)m=e,y=n,_=r,g=i;else if(_=g=-(m=y=1/0),f=[],h=[],p=t.length,o)for(d=0;d_&&(_=l.x),l.y>g&&(g=l.y),f.push(l.x),h.push(l.y);else for(d=0;d
_&&(_=b),M>g&&(g=M),f.push(b),h.push(M)}var w=_-m,L=g-y;w>L?g=y+w:_=m+L;var T=_r();if(T.add=function(t){a(T,t,+v(t,++d),+x(t,d),m,y,_,g)},T.visit=function(t){gr(t,T,m,y,_,g)},T.find=function(t){return vr(T,t[0],t[1],m,y,_,g)},d=-1,null==e){for(;++d
=0?t.slice(0,e):t,r=e>=0?t.slice(e+1):"in";return n=xu.get(n)||vu,r=bu.get(r)||w,Er(r(n.apply(null,po.call(arguments,1))))},ho.interpolateHcl=zr,ho.interpolateHsl=Hr,ho.interpolateLab=Fr,ho.interpolateRound=Ur,ho.transform=function(t){var e=yo.createElementNS(ho.ns.prefix.svg,"g");return(ho.transform=function(t){if(null!=t){e.setAttribute("transform",t);var n=e.transform.baseVal.consolidate()}return new qr(n?n.matrix:Mu)})(t)},qr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Mu={a:1,b:0,c:0,d:1,e:0,f:0};ho.interpolateTransform=Kr,ho.layout={},ho.layout.bundle=function(){return function(t){for(var e=[],n=-1,r=t.length;++n